• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Dinamik dosya yolu - yardım

Katılım
25 Temmuz 2012
Mesajlar
40
Excel Vers. ve Dili
OFFICE 2016 - TR
Merhaba,

Aşağıda kırmızı ile belirttiğim dosya yolunu dinamik yapabiliyor muyum?
Yani dosya yeri bazen değişmekte, formülde dosya yeri revizesine gerek kalmadan makroyu kullanabilmek istiyorum. Dosya nerede ise PDF'leri oraya atsın, kaydı oraya yapsın istiyorum.

Yardımınızı rica ederim,


Sub PLAY()
'
' PLAY Makro
' PDF'YE DÖNÜŞTÜRÜR VE YAZDIRIR...
'

'ActiveWorkbook.Save
ChDir "\\Marketing_pc\gunduzkurk\2012\EXPORT\INVOICE - PACKING LIST"
kisim = (Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 5))
Sheets("GENEL FATURA").Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"\\Marketing_pc\gunduzkurk\2012\EXPORT\INVOICE - PACKING LIST\" & kisim & "-INV.pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
Sheets("PACKING LIST").Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"\\Marketing_pc\gunduzkurk\2012\EXPORT\INVOICE - PACKING LIST\" & kisim & "-PL.pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
Sheets("K.TALİMATI").Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"\\Marketing_pc\gunduzkurk\2012\EXPORT\INVOICE - PACKING LIST\" & kisim & "-KT.pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
Sheets("GENEL FATURA").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=2, Collate:=True, _
IgnorePrintAreas:=False
Sheets("PACKING LIST").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Sheets("K.TALİMATI").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=3, Collate:=True, _
IgnorePrintAreas:=False

End Sub
 
Merhaba,

Aşağıdaki kodu çalıştırdığınızda aktif dosyanızın yolunu size bildirir.

Kod:
Sub Yol()
   MsgBox ThisWorkbook.Path
End Sub

Eğer bu yol sizin yazdığınız yolla aynıysa (ayraç işaretli uyuşmayabilir) direk kullanabilirsiniz. Değilse ayraçları eşleştirecek şekilde birleştirme işaratini kullanarak sizin yazdığınız şekle sokarak bir değişkene atayıp kullanabilirsiniz.

Örnek;

Kod:
Yol = "\\" & ThisWorkbook.Path & "\" kisim & "-KT.pdf"
 
Korhan Hocam merhaba,

Cevabınız için teşekkürler, biraz acemi olduğumdan dolayı soruyorum, bir kaç bir şey denedim ama beceremedim,

Benim amacım dosya konumu değişse dahi, makronun otomatik o yolu kullanması, yani makro koduna müdahaleye gerek kalınmaması.

Bu şekilde olduğunda yazdığınız kodu benim kod içinde nereye eklemem gerekiyor.
 
Merhaba,

Aşağıdaki kodu deneyiniz.

Kod içinde geçen aşağıdaki satırı "False" yaparsanız PDF dosyaları açılmadan işlemi yapabilirsiniz.

OpenAfterPublish:=True

Kod:
Sub PLAY()
    Dosya_Adi = (Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 5))
    
    Sheets("GENEL FATURA").ExportAsFixedFormat _
                            Type:=xlTypePDF, _
                            Filename:=ThisWorkbook.Path & "\" & Dosya_Adi & "-INV.pdf", _
                            Quality:=xlQualityStandard, _
                            IncludeDocProperties:=True, _
                            IgnorePrintAreas:=False, _
                            OpenAfterPublish:=True

    Sheets("PACKING LIST").ExportAsFixedFormat _
                            Type:=xlTypePDF, _
                            Filename:=ThisWorkbook.Path & "\" & Dosya_Adi & "-PL.pdf", _
                            Quality:=xlQualityStandard, _
                            IncludeDocProperties:=True, _
                            IgnorePrintAreas:=False, _
                            OpenAfterPublish:=True

    Sheets("K.TALİMATI").ExportAsFixedFormat _
                            Type:=xlTypePDF, _
                            Filename:=ThisWorkbook.Path & "\" & Dosya_Adi & "-KT.pdf", _
                            Quality:=xlQualityStandard, _
                            IncludeDocProperties:=True, _
                            IgnorePrintAreas:=False, _
                            OpenAfterPublish:=True

    Sheets("GENEL FATURA").PrintOut Copies:=2, Collate:=True, IgnorePrintAreas:=False
    Sheets("PACKING LIST").PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
    Sheets("K.TALİMATI").PrintOut Copies:=3, Collate:=True, IgnorePrintAreas:=False
End Sub
 
Elinize sağlık, süper oldu.
 
Geri
Üst