Note: The other languages of the website are Google-translated. Back to English

Kako paketno pretvoriti več dokumentov Word v datoteke PDF?

Preprosto pretvorite Wordov dokument v datoteko PDF s funkcijo Shrani kot v Wordu. Če pa želite vse dokumente programa Word v mapi pretvoriti v datoteke PDF naenkrat, kako lahko to dosežete? Ta članek vam bo prikazal kodo VBA za paketno pretvorbo več Wordovih dokumentov v datoteke PDF v Wordu.

Paketno pretvorite več Wordovih dokumentov v datoteke PDF s pomočjo VBA
Paketno pretvorite več dokumentov Word v datoteke PDF s programom Kutools for Word


Paketno pretvorite več Wordovih dokumentov v datoteke PDF s pomočjo VBA

Naslednja koda VBA vam pomaga hitro pretvoriti vse Wordove dokumente v mapi v datoteke PDF naenkrat. Naredite naslednje.

1. V Wordu pritisnite druga + F11 tipke za odpiranje Microsoft Visual Basic za aplikacije okno.

2. V Ljubljani Microsoft Visual Basic za aplikacije okno, kliknite Vstavi > Moduli, nato kopirajte spodnjo kodo VBA v okno modula.

Koda VBA: paketno pretvorite več dokumentov Word v datoteke PDF v programu Word

Sub ConvertWordsToPdfs()
'Updated by Extendoffice 20181123
    Dim xIndex As String
    Dim xDlg As FileDialog
    Dim xFolder As Variant
    Dim xNewName As String
    Dim xFileName As String
    Set xDlg = Application.FileDialog(msoFileDialogFolderPicker)
    If xDlg.Show <> -1 Then Exit Sub
    xFolder = xDlg.SelectedItems(1) + "\"
    xFileName = Dir(xFolder & "*.*", vbNormal)
    While xFileName <> ""
        If ((Right(xFileName, 4)) <> ".doc" Or Right(xFileName, 4) <> ".docx") Then
            xIndex = InStr(xFileName, ".") + 1
            xNewName = Replace(xFileName, Mid(xFileName, xIndex), "pdf")
            Documents.Open FileName:=xFolder & xFileName, _
                ConfirmConversions:=False, ReadOnly:=False, AddToRecentFiles:=False, _
                PasswordDocument:="", PasswordTemplate:="", Revert:=False, _
                WritePasswordDocument:="", WritePasswordTemplate:="", Format:= _
                wdOpenFormatAuto, XMLTransform:=""
            ActiveDocument.ExportAsFixedFormat OutputFileName:=xFolder & xNewName, _
                ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _
                wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _
                Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
                CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
                BitmapMissingFonts:=True, UseISO19005_1:=False
            ActiveDocument.Close
        End If
        xFileName = Dir()
    Wend
End Sub

3. Pritisnite F5 tipko za zagon kode.

4. Pojavi se pogovorno okno Brskanje, izberite mapo, v kateri so Wordovi dokumenti, ki jih želite pretvoriti v datoteke PDF, in kliknite OK gumb.

Nato se vsi Wordovi dokumenti v izbrani mapi hkrati pretvorijo v ločene datoteke pdf. Oglejte si posnetek zaslona:


Paketno pretvorite več dokumentov Word v datoteke PDF s programom Kutools for Word

Če je s kodo VBA težko ravnati, lahko poskusite Pretvarjanje dokumentov uporabnost Kutools za Word za rešitev problema.

Kutools za Word : Z več kot 100 priročnimi dodatki za Word, brezplačno poskusite brez omejitev 60 dni.

1. klik Kutools Plus > Doc / Docx. Oglejte si posnetek zaslona:

2. V Ljubljani Pretvornik oblike dokumenta okno, morate storiti naslednje:

2.1) V mapi izberite mapo z dokumenti, ki jih želite pretvoriti v pdf Mapa izvorne datoteke odsek;
2.2 Izberite Pretvori docx v pdf Iz Pretvori obliko spustni seznam;
2.3) Privzeto je Ciljna pot enaka izvoru polje je označeno. Če želite vse pretvorjene datoteke pdf shraniti v isto mapo, samo izberite to možnost;
Če želite ločiti datoteke pdf in izvorne dokumente, počistite polje Ciljna pot enaka izvoru in izberite novo mapo, da shranite datoteke pdf v Shrani v škatla;
2.4) Kliknite Začetek . Oglejte si posnetek zaslona:

3. Nato se prikaže pogovorno okno, ki vam pove, koliko dokumentov je bilo uspešno pretvorjenih, kliknite OK in zaprite Pretvornik oblike dokumenta okno.

Zdaj se vsi dokumenti v obliki .docx pretvorijo v datoteke pdf.

Če želite brezplačno preskusiti to orodje, pojdite na brezplačno prenesete programsko opremo najprej in nato nadaljujte z uporabo postopka v skladu z zgornjimi koraki.


Priporočena orodja za produktivnost besed

 

Kutools za Word - Več kot 100 naprednih funkcij za Word, prihranite 50% časa

  • Zapletene in ponavljajoče se operacije je mogoče enkrat obdelati v nekaj sekundah.
  • V Wordov dokument hkrati vstavite več slik v mape.
  • Združite in združite več datotek Word v mapah v eno z želenim vrstnim redom.
  • Trenutni dokument razdelite na ločene dokumente glede na naslov, prelom odseka ali druga merila.
  • Pretvarjanje datotek med dokumenti Doc in Docx, Docx in PDF, zbirka orodij za pogoste pretvorbe in izbiro itd. ...
Komentarji (33)
Ocenjeno 5 iz 5 · 3 ocene
Ta komentar je moderator na spletnem mestu minimiziral
Tako lep blog, hvala, ker delite ta blog. Ima tako koristne informacije za uporabnike. Ta informacija mi je bila zelo všeč.
Upam, da boste še naprej delili takšne informacije, pretvorite word doc v html
Ta komentar je moderator na spletnem mestu minimiziral
VBA, če poskušam pretvoriti datoteko, ki vsebuje makre, makro preklopi za odpiranje datoteke in se konča brez zapiranja datoteke.
Ta komentar je moderator na spletnem mestu minimiziral
Ali obstaja način, da se ime datoteke vzame iz besedila dokumenta?
Ta komentar je moderator na spletnem mestu minimiziral
Zdravo,


Ali obstaja preprost način za prilagoditev kode VBA, tako da se dokumenti pretvorijo v datoteke .txt?
Ta komentar je moderator na spletnem mestu minimiziral
Hi,

Dobim napako med izvajanjem '424':
Predmet obvezen

na spodnjo kodo

Dokumenti.Odpri Ime datoteke:=xFolder & xFileName, _

Potrdi,

PasswordDocument:="", PasswordTemplate:="", Revert:=False, _

WritePasswordDocument:="", WritePasswordTemplate:="", Format:= _

wdOpenFormatAuto, XMLTransform:=""


wdOpenFormatAuto = 0 pravi.

Prosim, pomagajte.

Hvala.
Ta komentar je moderator na spletnem mestu minimiziral
Hi,



Dobim napako med izvajanjem '424':

Predmet obvezen


slika priložena.




Prosim, pomagajte.



Hvala.
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni, najlepša hvala za to kodo. Deluje dobro, vendar po vsaki konverziji dobim pogovorno okno, da shranim besedo doc in moram shraniti. Ali lahko v makro vključite kodo, da to shranite in zaprete datoteko, namesto da bi morali zapreti vsako od njih?
Ta komentar je moderator na spletnem mestu minimiziral
če dodate "ActiveDocument.Save" tik nad "ActiveDocument.Close", bo dokument shranil, preden se sam zapre, tako da vam ni treba vedno pritisniti poziva za shranjevanje.
Ta komentar je moderator na spletnem mestu minimiziral
hvala za vba kodo, zelo pomaga.
Ta komentar je moderator na spletnem mestu minimiziral
Koda VBA je odlična. Živeli, jedli
Ta komentar je moderator na spletnem mestu minimiziral
Spremenite xIndex = InStr(xFileName, ".") + 1


Ta komentar je moderator na spletnem mestu minimiziral
Če se spremeniš
xIndex = InStr(xFileName, ".") + 1 do
xIndex = InStrRev(xFileName, ".") + 1
iskal bo od konca niza, da bi našel prvo piko. Tako se boste izognili težavam, kjer ime datoteke vsebuje pike.
Ta komentar je moderator na spletnem mestu minimiziral
Hvala, zelo delni svet
Ta komentar je moderator na spletnem mestu minimiziral
Če spremenitexFileName = Dir(xFolder & "*.*", vbNormal)
v xFileName = Dir(xFolder & "*.doc*", vbNormal)makro se ne bo zrušil, če so v isti mapi datoteke, ki niso Wordove.
Ta komentar je moderator na spletnem mestu minimiziral
To mi je rešilo dan, najlepša hvala!
Za ljudi, ki to uporabljajo, bi rad poudaril, da če se zdi, da Word zamrzne, počakajte – ustvarja datoteke .pdf. Moj Word je zamrznil, vendar sem odprl mapo z datotekami in videl, da je res ustvaril .pdf za vse datoteke.
Ta komentar je moderator na spletnem mestu minimiziral
VBA 很棒!!感謝您的分享.
Ta komentar je moderator na spletnem mestu minimiziral
Imam težavo, če ima documet ime 1.2.3.5.Blabla bla.doc shrani in prepiše PDF-je in v zaključku imam samo 0ne? zadnji dokument. Kako lahko rešim to težavo?
Ta komentar je moderator na spletnem mestu minimiziral
Če se spremeniš
xIndex = InStr(xFileName, ".") + 1
do
xIndex = InStrRev(xFileName, ".") + 1
iskal bo od konca niza, da bi našel prvo piko. Tako se boste izognili težavam, kjer ime datoteke vsebuje pike.

Če se spremeniš
xFileName = Dir(xFolder & "*.*", vbNormal)
do
xFileName = Dir(xFolder & "*.doc*", vbNormal)
makro se ne bo zrušil, če so v isti mapi datoteke, ki niso Wordove.
Ta komentar je moderator na spletnem mestu minimiziral
Makros deluje nepravilno, če v imenih datotek so točke
Ta komentar je moderator na spletnem mestu minimiziral
Če se spremeniš
xIndex = InStr(xFileName, ".") + 1
do
xIndex = InStrRev(xFileName, ".") + 1
iskal bo od konca niza, da bi našel prvo piko. Tako se boste izognili težavam, kjer ime datoteke vsebuje pike.
Ta komentar je moderator na spletnem mestu minimiziral
Če se spremeniš
xIndex = InStr(xFileName, ".") + 1
do
xIndex = InStrRev(xFileName, ".") + 1
iskal bo od konca niza, da bi našel prvo piko. Tako se boste izognili težavam, kjer ime datoteke vsebuje pike.

Če se spremeniš
xFileName = Dir(xFolder & "*.*", vbNormal)
do
xFileName = Dir(xFolder & "*.doc*", vbNormal)
makro se ne bo zrušil, če so v isti mapi datoteke, ki niso Wordove.
Ta komentar je moderator na spletnem mestu minimiziral
Najlepša hvala! Prihranil mi je toliko časa!
Ta komentar je moderator na spletnem mestu minimiziral
Evo tukaj v drugem položaju nado 4 zamenjaj na 5:
Če ((Right(xFileName, 4)) <> ".doc" Ali Right(xFileName, 5) <> ".docx") Potem
Za izključitev težav z naličijo toček lahko naredite tako:
xIndex = InStr(xFileName, ".doc") + 1
Nu in za nasvete drugih tovarišč ne zabiti ;)

Ta komentar je moderator na spletnem mestu minimiziral
Ta koda je neverjetna in hitra, toda če je v datoteki dokumenta povezava, bo odprla okno z navedbo, da so morda informacije povezane z drugo datoteko. Ali želite uporabiti te spremembe? in nato drugo s prošnjo za shranjevanje kot. Ali obstaja način, da dodam kodo, da samodejno izvede te korake namesto mene? Od ~800 jih je ~40 in moram biti prisoten in to narediti vsakič.
Hvala
Ocenjeno 5 iz 5
Ta komentar je moderator na spletnem mestu minimiziral
Hi Vincent,
Naslednja koda VBA vam lahko naredi uslugo. Prosim poskusite. Hvala za vaše mnenje.

Sub ConvertWordsToPdfs()
'Updated by Extendoffice 20220805
  Dim xIndex As String
  Dim xDlg As FileDialog
  Dim xFolder As Variant
  Dim xNewName As String
  Dim xFileName As String
  On Error Resume Next
  Set xDlg = Application.FileDialog(msoFileDialogFolderPicker)
  If xDlg.Show <> -1 Then Exit Sub
  xFolder = xDlg.SelectedItems(1) + "\"
  xFileName = Dir(xFolder & "*.*", vbNormal)
  Application.DisplayAlerts = wdAlertsNone
  While xFileName <> ""
      If ((Right(xFileName, 4)) <> ".doc" Or Right(xFileName, 4) <> ".docx") Then
          xIndex = InStr(xFileName, ".") + 1
          xNewName = Replace(xFileName, Mid(xFileName, xIndex), "pdf")
          Documents.Open FileName:=xFolder & xFileName, _
              ConfirmConversions:=False, ReadOnly:=False, AddToRecentFiles:=False, _
              PasswordDocument:="", PasswordTemplate:="", Revert:=False, _
              WritePasswordDocument:="", WritePasswordTemplate:="", Format:= _
              wdOpenFormatAuto, XMLTransform:=""
          ActiveDocument.ExportAsFixedFormat OutputFileName:=xFolder & xNewName, _
              ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _
              wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _
              Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
              CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
              BitmapMissingFonts:=True, UseISO19005_1:=False
          ActiveDocument.Close wdSaveChanges
      End If
      xFileName = Dir()
  Wend
  Application.DisplayAlerts = wdAlertsAll
End Sub
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni, ali obstaja način, da izberete drugo izhodno mapo in ne izvirne mape?

Hvala
Ta komentar je moderator na spletnem mestu minimiziral
Hi Vincent,
Poskusite naslednjo kodo VBA. Po zagonu kode se an Odprto se prikaže okno, v drugem pojavnem oknu izberite mapo z dokumenti, ki jih želite pretvoriti Shranite datoteke PDF v izberite mapo za shranjevanje datotek PDF.

Sub ConvertWordsToPdfs()
'Updated by Extendoffice 20220805
  Dim xIndex As String
  Dim xDlg As FileDialog, xSaveDlg As FileDialog
  Dim xFolder As Variant, xSaveFolder As Variant
  Dim xNewName As String
  Dim xFileName As String
  On Error Resume Next
  Set xDlg = Application.FileDialog(msoFileDialogFolderPicker)
  xDlg.Title = "Open"
  xDlg.ButtonName = "Open"
  If xDlg.Show <> -1 Then Exit Sub
  xFolder = xDlg.SelectedItems(1) + "\"
  xFileName = Dir(xFolder & "*.*", vbNormal)
  Set xSaveDlg = Application.FileDialog(msoFileDialogFolderPicker)
  xSaveDlg.Title = "Save PDF files in"
  xSaveDlg.ButtonName = "Save"
  If xSaveDlg.Show <> -1 Then Exit Sub
  xSaveFolder = xSaveDlg.SelectedItems(1) + "\"
  Application.DisplayAlerts = wdAlertsNone
  While xFileName <> ""
      If ((Right(xFileName, 4)) <> ".doc" Or Right(xFileName, 4) <> ".docx") Then
          xIndex = InStr(xFileName, ".") + 1
          xNewName = Replace(xFileName, Mid(xFileName, xIndex), "pdf")
          Documents.Open FileName:=xFolder & xFileName, _
              ConfirmConversions:=False, ReadOnly:=False, AddToRecentFiles:=False, _
              PasswordDocument:="", PasswordTemplate:="", Revert:=False, _
              WritePasswordDocument:="", WritePasswordTemplate:="", Format:= _
              wdOpenFormatAuto, XMLTransform:=""
          ActiveDocument.ExportAsFixedFormat OutputFileName:=xSaveFolder & xNewName, _
              ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _
              wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _
              Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
              CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
              BitmapMissingFonts:=True, UseISO19005_1:=False
          ActiveDocument.Close wdSaveChanges
      End If
      xFileName = Dir()
  Wend
  Application.DisplayAlerts = wdAlertsAll
  Set xDlg = Nothing
  Set xSaveDlg = Nothing
End Sub
Tu še ni objavljenih komentarjev
Obremenitev Več
Pustite vaše komentarje
Objava kot gost
×
Ocenite to objavo:
0   Znaki
Predlagane lokacije

Sledi nam

Copyright © 2009 - www.extendoffice.com. | Vse pravice pridržane. Poganja ga ExtendOffice. | Kazalo
Microsoft in logotip Office sta blagovni znamki ali registrirani blagovni znamki družbe Microsoft Corporation v ZDA in / ali drugih državah.
Zaščiteno s Sectigo SSL