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

Sut i swp-drosi dogfennau Word lluosog yn ffeiliau pdf?

Mae'n hawdd ichi drosi dogfen Word i ffeil PDF gyda'r swyddogaeth Save as in Word. Ond os ydych chi am drosi pob dogfen Word mewn ffolder i wahanu ffeiliau PDF ar unwaith, sut allwch chi ei gyflawni? Bydd yr erthygl hon yn dangos cod VBA i chi swp-drosi dogfennau Word lluosog i ffeiliau pdf yn Word.

Swp trosi dogfennau Word lluosog yn ffeiliau pdf gyda VBA
Swp trosi dogfennau Word lluosog i ffeiliau pdf gyda Kutools for Word


Swp trosi dogfennau Word lluosog yn ffeiliau pdf gyda VBA

Mae'r cod VBA canlynol yn eich helpu i drosi pob dogfen Word mewn ffolder yn ffeiliau pdf ar unwaith. Gwnewch fel a ganlyn.

1. Yn Word, pwyswch y Alt + F11 allweddi i agor y Microsoft Visual Basic ar gyfer Ceisiadau ffenestr.

2. Yn y Microsoft Visual Basic ar gyfer Ceisiadau ffenestr, cliciwch Mewnosod > Modiwlau, yna copïwch isod god VBA i mewn i ffenestr y Modiwl.

Cod VBA: Swp trosi sawl dogfen Word yn ffeiliau pdf yn 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. Gwasgwch y F5 allwedd i redeg y cod.

4. Mae deialog Pori yn ymddangos, dewiswch y ffolder sy'n cynnwys dogfennau Word y byddwch chi'n eu trosi i ffeiliau pdf, a chliciwch ar y OK botwm.

Yna mae'r holl ddogfennau Word mewn ffolder a ddewiswyd yn cael eu trosi'n ffeiliau pdf ar wahân ar unwaith. Gweler y screenshot:


Swp trosi dogfennau Word lluosog i ffeiliau pdf gyda Kutools for Word

Os yw'n anodd trin cod VBA, gallwch roi cynnig ar y Trosi dogfennau cyfleustodau Kutools am Word i ddatrys y broblem.

Kutools am Word : Gyda mwy na 100 o ychwanegion Word defnyddiol, rhydd i roi cynnig arni heb unrhyw gyfyngiad mewn 60 diwrnod.

1. Cliciwch Kutools Byd Gwaith > Doc / Docx. Gweler y screenshot:

2. Yn y Troswr Fformat Dogfen ffenestr, mae angen i chi wneud fel a ganlyn:

2.1) Dewiswch y ffolder yn cynnwys dogfennau y byddwch yn eu trosi i pdf yn y Ffolder ffeiliau ffynhonnell adran;
2.2 Dewis Trosi docx i pdf oddi wrth y Trosi Fformat rhestr ostwng;
2.3) Yn ddiofyn, mae'r Llwybr cyrchfan yr un peth â'r ffynhonnell blwch yn cael ei wirio. Os ydych chi am roi'r holl ffeiliau pdf wedi'u trosi yn yr un ffolder, cadwch yr opsiwn hwn wedi'i ddewis;
Os ydych chi am wahanu'r ffeiliau pdf a'r dogfennau ffynhonnell, mae angen i chi ddad-dicio'r Llwybr cyrchfan yr un peth â'r ffynhonnell blwch, a dewis ffolder newydd i gadw'r ffeiliau pdf yn y Cadw i blwch;
2.4) Cliciwch y dechrau botwm. Gweler y screenshot:

3. Yna mae blwch deialog yn ymddangos i ddweud wrthych faint o ddogfennau sydd wedi'u trosi'n llwyddiannus, cliciwch y OK botwm a chau'r Troswr Fformat Dogfen ffenestr.

Nawr mae'r holl ddogfennau fformat .docx yn cael eu trosi'n ffeiliau pdf.

Os ydych chi am gael treial am ddim o'r cyfleustodau hwn, ewch i dadlwythwch y meddalwedd am ddim yn gyntaf, ac yna ewch i gymhwyso'r llawdriniaeth yn ôl y camau uchod.


Offer Cynhyrchedd Geiriau a Argymhellir

 

Kutools Ar gyfer Word - Mwy Na 100 Nodweddion Uwch Ar gyfer Word, Arbedwch Eich 50% Amser

  • Gellir gwneud gweithrediadau cymhleth ac ailadroddus brosesu un-amser mewn eiliadau.
  • Mewnosodwch ddelweddau lluosog ar draws ffolderau yn nogfen Word ar unwaith.
  • Uno a chyfuno ffeiliau Word lluosog ar draws ffolderau yn un gyda'r drefn a ddymunir gennych.
  • Rhannwch y ddogfen gyfredol yn ddogfennau ar wahân yn ôl pennawd, toriad adran neu feini prawf eraill.
  • Trosi ffeiliau rhwng Doc a Docx, Docx a PDF, casglu offer ar gyfer trawsnewid a dewis cyffredin, ac ati ...
sylwadau (29)
Wedi graddio 5 allan o 5 · Graddfeydd 2
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Blog mor braf, Diolch am rannu'r blog hwn. Mae ganddo wybodaeth mor ddefnyddiol i ddefnyddwyr. Hoffais y wybodaeth hon gymaint.
Gobeithio y byddwch yn parhau i rannu gwybodaeth o'r fath trowch word doc i html
Lleihawyd y sylw hwn gan y safonwr ar y wefan
VBA os ceisiaf drosi ffeil sy'n cynnwys macros y macro swith i agor ffeil ac yn gorffen heb ffeil agos.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
A oes unrhyw ffordd i gael enw'r ffeil wedi'i gymryd o destun y ddogfen?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Hi 'na,


a oes ffordd hawdd i addasu'r Cod VBA fel bod y Dogfennau yn cael eu trosi i .txt-Files?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Heia,

Rwy'n cael gwall amser rhedeg '424':
Angen gwrthrych

yn y cod isod

Documents.Open Filename:=xFolder & xFileName, _

ConfirmConversions:=Anghywir, ReadOnly:=Anghywir, AddToRecentFiles:=Anghywir, _

PasswordDocument:="", PasswordTemplate:="", Dychwelyd:=Anghywir, _

WritePasswordDocument:="", WritePasswordTemplate:="", Fformat:= _

wdOpenFormatAuto, XMLTransform:=""


wdOpenFormatAuto = 0 mae'n dweud.

Os gwelwch yn dda helpu.

Diolch.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Heia,



Rwy'n cael gwall amser rhedeg '424':

Angen gwrthrych


delwedd ynghlwm.




Os gwelwch yn dda helpu.



Diolch.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo, Diolch yn fawr iawn am y cod hwn. Mae'n gweithio'n dda, fodd bynnag, rwy'n cael blwch deialog ar ôl pob trosiad i achub y gair doc ac mae'n rhaid i mi arbed. Allwch chi gynnwys cod yn y macro i wneud hynny arbed a chau'r ffeil yn lle gorfod cau pob un?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
os ydych chi'n ychwanegu "ActiveDocument.Save" i'r dde uwchben "ActiveDocument.Close" bydd yn cadw'r ddogfen cyn cau ei hun fel nad oes rhaid i chi daro'r anogwr arbed bob amser.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
diolch am cod vba , mae'n helpu llawer.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Mae'r cod VBA yn wych. Llongyfarchiadau, bwyta
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Newid xIndex = InStr(xFileName, ".") + 1


Lleihawyd y sylw hwn gan y safonwr ar y wefan
Os byddwch chi'n newid
xIndex = InStr(xFileName, ".") + 1 i
xIndex = InStrRev(xFileName, ".") + 1
bydd yn chwilio o ddiwedd y llinyn i ddod o hyd i'r cyfnod cyntaf. Bydd hyn yn osgoi problemau lle mae enw'r ffeil yn cynnwys cyfnodau.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Спасибо, очень дельный совет
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Os byddwch yn newidxFileName = Dir(xFolder & "*.*", vbNormal)
to xFileName = Dir(xFolder & "*.doc*", vbNormal)ni fydd y macro yn chwalu pan fo ffeiliau di-Word yn yr un ffolder.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Arbedodd hyn fy niwrnod, diolch yn fawr!
Hoffwn nodi i bobl sy'n defnyddio hyn, os yw'r Word i'w weld yn rhewi, dim ond aros - mae'n cynhyrchu'r ffeiliau .pdf. Rhewodd Fy Word ond agorais ffolder y ffeiliau, a gallwn weld ei fod yn wir yn cynhyrchu'r .pdf ar gyfer pob ffeil.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
VBA 很棒!!感謝您的分享。
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Mae gen i broblem os oes gan documet enw 1.2.3.5.Blabla bla.doc mae'n arbed ac ailysgrifennu PDFs ac i gloi dim ond 0ne sydd gen i? un ddogfen olaf. Sut gallaf ddatrys y broblem hon?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Os byddwch chi'n newid
xIndex = InStr(xFileName, ".") + 1
i
xIndex = InStrRev(xFileName, ".") + 1
bydd yn chwilio o ddiwedd y llinyn i ddod o hyd i'r cyfnod cyntaf. Bydd hyn yn osgoi problemau lle mae enw'r ffeil yn cynnwys cyfnodau.

Os byddwch chi'n newid
xFileName = Dir(xFolder & "*.*", vbNormal)
i
xFileName = Dir(xFolder & "*.doc*", vbNormal)
ni fydd y macro yn chwalu pan fo ffeiliau nad ydynt yn Word yn yr un ffolder.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Macros работает некорректно, если в именах файлов есть точки
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Os byddwch chi'n newid
xIndex = InStr(xFileName, ".") + 1
i
xIndex = InStrRev(xFileName, ".") + 1
bydd yn chwilio o ddiwedd y llinyn i ddod o hyd i'r cyfnod cyntaf. Bydd hyn yn osgoi problemau lle mae enw'r ffeil yn cynnwys cyfnodau.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Os byddwch chi'n newid
xIndex = InStr(xFileName, ".") + 1
i
xIndex = InStrRev(xFileName, ".") + 1
bydd yn chwilio o ddiwedd y llinyn i ddod o hyd i'r cyfnod cyntaf. Bydd hyn yn osgoi problemau lle mae enw'r ffeil yn cynnwys cyfnodau.

Os byddwch chi'n newid
xFileName = Dir(xFolder & "*.*", vbNormal)
i
xFileName = Dir(xFolder & "*.doc*", vbNormal)
ni fydd y macro yn chwalu pan fo ffeiliau nad ydynt yn Word yn yr un ffolder.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Diolch yn fawr iawn! Wedi arbed cymaint o amser i mi!
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Вот тут во втором условии ar 4 заменить ar 5:
Os ((Right(xFileName, 4)) <> ".doc" Neu Dde(xFileName, 5) <> ".docx") Yna
Для исключения проблемы наличия точек можно сделать так:
xIndex = InStr(xFileName, ".doc") + 1
Ну и про советы других товарищей не забыть ;)

Lleihawyd y sylw hwn gan y safonwr ar y wefan
Mae'r cod hwn yn anhygoel ac yn gyflym ond os oes dolen yn y ffeil Doc bydd yn agor ffenestr yn nodi efallai y bydd gwybodaeth yn gysylltiedig â ffeil arall cymhwyso'r newidiadau hyn? ac yna un arall yn gofyn am gynilo fel. A oes ffordd i ychwanegu at y cod i wneud y camau hyn yn awtomatig i mi? Allan o ~800 mae yna ~40 a rhaid i mi fod yn bresennol a gwneud hyn bob tro.
diolch
Wedi graddio 5 allan o 5
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Vincent,
Gall y cod VBA canlynol wneud ffafr i chi. Rhowch gynnig arni. Diolch i chi am eich adborth.

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
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo a oes ffordd i ddewis ffolder allbwn gwahanol ac nid y ffolder gwreiddiol?

diolch
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Vincent,
Rhowch gynnig ar y cod VBA canlynol. Ar ôl rhedeg y cod, an agored ffenestr yn ymddangos, dewiswch ffolder sy'n cynnwys y douments rydych am eu trosi, yn yr ail popping i fyny Arbedwch ffeiliau PDF i mewn ffenestr, dewiswch ffolder i arbed y ffeiliau 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
Nid oes unrhyw sylwadau wedi'u postio yma eto
Llwytho mwy o
Gadewch eich sylwadau
Postio fel Gwestai
×
Graddiwch y swydd hon:
0   Cymeriadau
Lleoliadau a Awgrymir