Farklı Kaydettirme

Katılım
20 Haziran 2006
Mesajlar
55
Bir excel dosyasının A1 hücresinde file:///C:/test/xxx.jpg şeklinde bir linkimiz oluşuyor... B1 hücreisnde bir bir butona tıkladığımda save as ekranın çıkması ve buradaki dosyayı istediğim bir yere kayıt etmek istiyorum..

Bunu nasıl yapabiliriz?
 
Katılım
20 Haziran 2006
Mesajlar
55
Asagidaki kod mantiken bu isi gormesi lazim, ancak hata veriyor.... path yok diyor...

Private Sub CommandButton1_Click()

kopyala = "file:///C:/test.jpg"
buraya = "file:///D:/"
If MsgBox(kopyala & " İşlemini yapmak istiyormusunuz.?", vbYesNo + vbQuestion, "UYARI !") = vbYes Then
Dim DosyaSistemi
Set DosyaSistemi = CreateObject("Scripting.FileSystemObject")

DosyaSistemi.CopyFile kopyala, buraya
End If

End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,482
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Aşağıdaki şekilde denermisiniz.

Kod:
Kopyala = [A1]
Buraya = "D:/"
 
Katılım
20 Haziran 2006
Mesajlar
55
Selamlar,

Bu şekilde oluyor.

Peki save as ekranı açıp bu dosyayı kayıt açacağı windows ekranını nasıl açtırabiliriz?
 
Katılım
20 Haziran 2006
Mesajlar
55
......................

Selamlar,

Bu şekilde oluyor. Kopyala = [A & i] değişkenli olarak yapıncada olurmu?

Peki save as ekranı açıp bu dosyayı kayıt açacağı windows ekranını nasıl açtırabiliriz?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,482
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Farklı kaydet penceresini F12 tuşu ile rahatlıkla açabilirsiniz.

Değişken olarak Range("A" & i) şeklinde kullanabilirsiniz.
 
Katılım
20 Haziran 2006
Mesajlar
55
Teşekkürler,

F12 ye tıklatınca aktiv excel dosyasını save as yaptırıyor... kopyalada ki tam adresi verilen dosyayı, burayada kullanıncının seçtiği klasöre kayıt ettirmeyi nasıl yapabiliriz?

Kopyala = [A1]
Buraya = "D:/"
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,482
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Aşağıdaki kod ile A1 hücresindeki ismi farklı kaydet penceresine alabilirsiniz.

Kod:
Option Explicit
 
Sub FARKLI_KAYDET()
    Application.Dialogs(xlDialogSaveAs).Show Range("A1")
End Sub
 
Katılım
20 Haziran 2006
Mesajlar
55
Selamlar,

Bu son kod ile a1 deki değeri isim olarak alıyoruz ve mevcut excel dosyasını kayıt etmek için kullanıyoruz, ama amaç; örneğin a1 deki c:/test.jpg de yazıyor. ve bu dosyayı fiziksel olarak save as ekranı açtırarak seçilen klasöre kopyalamak istiyoruz... şu an için kodta kopyalayacak yeri sabit girince fiziksel kopyalama oluyor. sorun yok...
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,482
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Aşağıdaki kod ile aktif sayfanızın A sütunundaki dosya isimleri döngüye alınarak seçtiğiniz klasöre kopyalama işlemini yapabilirsiniz.

Kod:
Option Explicit
 
Sub DOSYA_KOPYALA()
    Dim Klasör As Object, Dosya_Yolu As String, Kopyalanacak_Dosya As String, X As Integer
 
    Set Klasör = CreateObject("Shell.Application").BrowseForFoldeR(0, "Lütfen bir klasör seçin !", 1)
 
    If Klasör Is Nothing Then
    MsgBox "İşleme devam edebilmek için lütfen klasör seçiniz !", vbExclamation, "Dikkat !"
    Exit Sub
    End If
    
    Dosya_Yolu = Klasör.Self.Path
 
    If MsgBox("Dosya kopyalama işlemine devam etmek istiyor musunuz?", vbYesNo + vbQuestion, "Dikkat !") = vbYes Then
    
        For X = 1 To Range("A65536").End(3).Row
            Kopyalanacak_Dosya = Range("A" & X)
            CreateObject("Scripting.FileSystemObject").CopyFile Kopyalanacak_Dosya, Dosya_Yolu
        Next
    
    End If
    
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Üst