Word Dosyalarını PDF'ye Çevirme

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Katılım
13 Eylül 2015
Mesajlar
201
Excel Vers. ve Dili
2010 VBA
Altın Üyelik Bitiş Tarihi
04-08-2023
Arkadaşlar Merhaba,

"C:\dosya" içinde 10'a yakın Word dosyam var. Bir makro ile bütün klasördeki tüm Word dosyalarının aynı klasör içinde ve aynı dosya isimleri ile PDF formatına çevrilmesini sağlayabilir miyiz ?

Teşekkür ederim.
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,405
Excel Vers. ve Dili
2007 Türkçe
Merhaba,
Bir Word dosyası açıp aşağıdaki kodu deneyiniz.
Kod:
Sub KOD()
Dim UZ As String, YL As String, DSY As String, Dosya As Document
YL = "[COLOR="Red"]C:\dosya\[/COLOR]"
DSY = Dir(YL, vbNormal)
Do While DSY <> ""
    uznt = Split(DSY, ".")
    UZ = uznt(UBound(uznt))
    If UZ Like "doc*" Then
        Set Dosya = Documents.Open(YL & DSY)
        Dosya.ExportAsFixedFormat OutputFileName:=YL & uznt(0), ExportFormat:=wdExportFormatPDF
        Dosya.Close
    End If
DSY = Dir
Loop
End Sub
 
Katılım
13 Eylül 2015
Mesajlar
201
Excel Vers. ve Dili
2010 VBA
Altın Üyelik Bitiş Tarihi
04-08-2023
Sn. Mucit Merhaba
Size telefonumdan yazıyorum o sebeple henüz test edemedim. Sabah test edip bilgi vereceğim. Yalnız word dosyası açın demişsiniz ama ben excel üzerinden yapmak istiyorum word doslarımın pdf e çevirme işlemini. Bu kodu excelin vba editörüne alsam çalışır mı ?
İlginize teşekkür ederim.
 
Katılım
13 Eylül 2015
Mesajlar
201
Excel Vers. ve Dili
2010 VBA
Altın Üyelik Bitiş Tarihi
04-08-2023
Halit bey merhaba,

Link için teşekkürler, inceledim istediğim sonucu alıyorum bu kodlarla ama makro hedef klasörü belirlemek için bowser açıyor. Browser değilde C:\\Dosya içini hedef olarak gösterebilir miyiz ?
 
Katılım
13 Eylül 2015
Mesajlar
201
Excel Vers. ve Dili
2010 VBA
Altın Üyelik Bitiş Tarihi
04-08-2023
Mucit bey
bu arada az önce verdiğiniz kodu excelde bir modül içinde denedim. Aşağıdaki satırda hata aldım.

Set Dosya = Documents.Open(YL & DSY)
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,852
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Halit bey merhaba,

Link için teşekkürler, inceledim istediğim sonucu alıyorum bu kodlarla ama makro hedef klasörü belirlemek için bowser açıyor. Browser değilde C:\\Dosya içini hedef olarak gösterebilir miyiz ?
kod

Kod:
Sub word_pdf_dosyasi_yap()

Kaynak = [COLOR="Red"]"C:\bilgisayar\Pdf dosyaları"[/COLOR]

Application.ScreenUpdating = False
Application.DisplayAlerts = False
Liste2 (Kaynak)
Application.ScreenUpdating = True
Application.DisplayAlerts = True

MsgBox "işlem tamam"
 
End Sub
 
Private Sub Liste2(Yol As String)
Dim fL As Object, f As Object
Set fL = CreateObject("Scripting.FileSystemObject")

For Each dosya In fL.getfolder(Yol).Files

Uzanti = LCase(fL.GetExtensionName(dosya.Name))
dosya_adi = fL.GetBaseName(dosya)

If Uzanti = "doc" Or Uzanti = "docx" Then

Dim wrdApp As Word.Application
Dim wrdDoc As Word.Document
Set wrdApp = CreateObject("Word.Application")
wrdApp.Documents.Open (dosya)
wrdApp.Visible = True
say = CreateObject("Scripting.FileSystemObject").getfolder(Yol).Files.Count + 1
wrdApp.ActiveDocument.ExportAsFixedFormat OutputFileName:=Yol & "\" & say & " " & dosya_adi & ".pdf", ExportFormat:=wdExportFormatPDF

wrdApp.Quit
Set wrdApp = Nothing

End If
Atla:

Next

On Error GoTo sonraki
For Each f In fL.getfolder(Yol).SubFolders
Liste2 (f.Path)
sonraki:
Next

Set fL = Nothing
End Sub
 
Katılım
13 Eylül 2015
Mesajlar
201
Excel Vers. ve Dili
2010 VBA
Altın Üyelik Bitiş Tarihi
04-08-2023
Halit bey çalıştı. Çok teşekkür ederim.
 
Katılım
13 Eylül 2015
Mesajlar
201
Excel Vers. ve Dili
2010 VBA
Altın Üyelik Bitiş Tarihi
04-08-2023
Halit bey sizden bişey daha rica edicem.

Çalışmamı aşağıdaki kod ile yapmaya karar verdim. Yani hedef klasörümü browser ile yapıcam. sizden ricam şu; browserda seçtiğim klasörün yolunu Excelimdeki A1 hücreme yazsın. İlginiz için teşekkür ederim.

Kod:
Sub word_pdf_dosyasi_yap()

Set Klasor = CreateObject("shell.application").browseforfolder(0, "Kaynak Dosyaları İçeren Klasörü Seçin", 50, &H0)
If Not Klasor Is Nothing Then
Kaynak = Klasor.SELF.Path
If InStr(1, Kaynak, "{") > 0 Then GoTo Atla
Application.ScreenUpdating = False
Application.DisplayAlerts = False

Liste2 (Kaynak)
Application.ScreenUpdating = True
Application.DisplayAlerts = True

MsgBox "işlem tamam"
Else
Atla:
MsgBox "Lütfen Kaynak Klasör Seçimini Yapınız !", vbInformation, "DİKKAT"
End If
    
End Sub
 
Private Sub Liste2(Yol As String)
Dim fL As Object, f As Object
Set fL = CreateObject("Scripting.FileSystemObject")

For Each dosya In fL.getfolder(Yol).Files

Uzanti = LCase(fL.GetExtensionName(dosya.Name))
dosya_adi = fL.GetBaseName(dosya)

If Uzanti = "doc" Or Uzanti = "docx" Then

Dim wrdApp As Word.Application
Dim wrdDoc As Word.Document
Set wrdApp = CreateObject("Word.Application")
wrdApp.Documents.Open (dosya)
wrdApp.Visible = True
say = CreateObject("Scripting.FileSystemObject").getfolder(Yol).Files.Count + 1
wrdApp.ActiveDocument.ExportAsFixedFormat OutputFileName:=Yol & "\" & say & " " & dosya_adi & ".pdf", ExportFormat:=wdExportFormatPDF

wrdApp.Quit
Set wrdApp = Nothing

End If
Atla:

Next

On Error GoTo sonraki
For Each f In fL.getfolder(Yol).SubFolders
Liste2 (f.Path)
sonraki:
Next

Set fL = Nothing
End Sub
 
Katılım
13 Eylül 2015
Mesajlar
201
Excel Vers. ve Dili
2010 VBA
Altın Üyelik Bitiş Tarihi
04-08-2023
Halit bey veya değerli üstatlar,

Yardımlarınızı bekliyorum
 
Katılım
13 Eylül 2015
Mesajlar
201
Excel Vers. ve Dili
2010 VBA
Altın Üyelik Bitiş Tarihi
04-08-2023
Değerli Arkadaşlar,

Yardımcı olabilir misiniz ?

Aşağıda Word dosyalarımı Pdf ye çeviren bir kodum var. Kodları çalıştırdığımda bana bir browser açıyor ve çevriyi yapacağı klasör yolunu seçmemi istiyor. İstediğimde şu; browserda seçtiğim klasör yolunu Excelimin A1 hücresine yazsın.


Kod:
Sub word_pdf_dosyasi_yap()

Set Klasor = CreateObject("shell.application").browseforfolder(0, "Kaynak Dosyaları İçeren Klasörü Seçin", 50, &H0)
If Not Klasor Is Nothing Then
Kaynak = Klasor.SELF.Path
If InStr(1, Kaynak, "{") > 0 Then GoTo Atla
Application.ScreenUpdating = False
Application.DisplayAlerts = False

Liste2 (Kaynak)
Application.ScreenUpdating = True
Application.DisplayAlerts = True

MsgBox "işlem tamam"
Else
Atla:
MsgBox "Lütfen Kaynak Klasör Seçimini Yapınız !", vbInformation, "DİKKAT"
End If
    
End Sub
 
Private Sub Liste2(Yol As String)
Dim fL As Object, f As Object
Set fL = CreateObject("Scripting.FileSystemObject")

For Each dosya In fL.getfolder(Yol).Files

Uzanti = LCase(fL.GetExtensionName(dosya.Name))
dosya_adi = fL.GetBaseName(dosya)

If Uzanti = "doc" Or Uzanti = "docx" Then

Dim wrdApp As Word.Application
Dim wrdDoc As Word.Document
Set wrdApp = CreateObject("Word.Application")
wrdApp.Documents.Open (dosya)
wrdApp.Visible = True
say = CreateObject("Scripting.FileSystemObject").getfolder(Yol).Files.Count + 1
wrdApp.ActiveDocument.ExportAsFixedFormat OutputFileName:=Yol & "\" & say & " " & dosya_adi & ".pdf", ExportFormat:=wdExportFormatPDF

wrdApp.Quit
Set wrdApp = Nothing

End If
Atla:

Next

On Error GoTo sonraki
For Each f In fL.getfolder(Yol).SubFolders
Liste2 (f.Path)
sonraki:
Next

Set fL = Nothing
End Sub
 

Korhan Ayhan

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

Kod:
Range("A1").Value = Klasor.SELF.Path
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst