Skip to main content

Conas baisc de dhoiciméid Word iolracha a thiontú go comhaid pdf?

Is furasta duit doiciméad Word a thiontú go comhad PDF leis an bhfeidhm Save as function i Word. Ach más mian leat gach doiciméad Word a thiontú i bhfillteán chun comhaid PDF a scaradh ag an am céanna, conas is féidir leat é a bhaint amach? Taispeánfaidh an t-alt seo cód VBA duit chun iliomad doiciméad Word a chomhshó go comhaid pdf i Word.

Baisc doiciméid iolracha Word a thiontú go comhaid pdf le VBA
Baisc doiciméid iolracha Word a thiontú go comhaid pdf le Kutools for Word


Baisc doiciméid iolracha Word a thiontú go comhaid pdf le VBA

Cuidíonn an cód VBA seo a leanas leat gach doiciméad Word i bhfillteán a thiontú go comhaid pdf go tapa. Déan mar a leanas le do thoil.

1. I Word, brúigh an Eile + F11 eochracha a oscailt Microsoft Visual Basic d’Fheidhmchláir fhuinneog.

2. Sa Microsoft Visual Basic d’Fheidhmchláir fuinneog, cliceáil Ionsáigh > Modúil, ansin cóipeáil thíos cód VBA isteach i bhfuinneog an Mhodúil.

Cód VBA: Tiontaigh baisc ilcháipéisí Word go comhaid pdf i 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. Brúigh an F5 eochair chun an cód a rith.

4. Tagann dialóg Brabhsáil aníos, roghnaigh an fillteán ina bhfuil cáipéisí Word a athróidh tú go comhaid pdf, agus cliceáil ar an OK cnaipe.

Ansin athraítear gach doiciméad Word san fhillteán roghnaithe go comhaid pdf ar leithligh ag an am céanna. Féach an pictiúr:


Baisc doiciméid iolracha Word a thiontú go comhaid pdf le Kutools for Word

Má tá sé deacair cód VBA a láimhseáil, is féidir leat triail a bhaint as an Tiontaigh cáipéisí fóntais de Kutools le haghaidh Word chun an fhadhb a réiteach.

Kutools le haghaidh Word : Le níos mó ná 100 breiseán áisiúil Word, saor chun iarracht a dhéanamh gan aon teorainn i 60.

1. cliceáil Kutools Plus > Doc / Docx. Féach an pictiúr:

2. Sa Tiontaire Formáid Doiciméid fuinneog, ní mór duit a dhéanamh mar a leanas:

2.1) Roghnaigh an fillteán tá cáipéisí a athróidh tú go pdf sa Fillteán comhad foinse alt;
2.2 Roghnaigh Tiontaigh docx go pdf ó na Tiontaigh Formáid liosta anuas;
2.3) De réir réamhshocraithe, déanann an Cosán ceann scríbe mar an gcéanna leis an bhfoinse seiceáiltear bosca. Más mian leat gach comhad pdf tiontaithe a chur san fhillteán céanna, coinnigh an rogha seo roghnaithe;
Más mian leat na comhaid pdf agus na doiciméid foinse a scaradh, ní mór duit na Cosán ceann scríbe mar an gcéanna leis an bhfoinse bosca, agus roghnaigh fillteán nua chun na comhaid pdf a shábháil sa Sábháil bosca;
2.4) Cliceáil ar an Tòisich cnaipe. Féach an pictiúr:

3. Ansin tagann bosca dialóige suas chun a insint duit cé mhéad doiciméad a tiontaíodh go rathúil, cliceáil an OK cnaipe agus dún an Tiontaire Formáid Doiciméid fhuinneog.

Anois athraítear gach doiciméad formáide .docx go comhaid pdf.

Más mian leat triail saor in aisce a bhaint as an bhfóntas seo, téigh chuig íoslódáil saor in aisce na bogearraí ar dtús, agus ansin téigh chun an oibríocht a chur i bhfeidhm de réir na gcéimeanna thuas.

Uirlisí Táirgiúlachta Oifige is Fearr

Kutools le haghaidh Word - Elevate Your Word Experience with Over 100 Gnéithe Suntasacha!

🤖 Cúntóir Kutools AI: athraigh do chuid scríbhinn le AI - Gin Ábhar  /  Athscríobh Téacs  /  Déan achoimre ar Dhoiciméid  /  Fiosraigh le haghaidh Faisnéise bunaithe ar Doiciméad, ar fad laistigh de Word

📘 Máistreacht Doiciméad: Leathanaigh Scoilte  /  Cumaisc Doiciméid  /  Roghnú Easpórtála i bhFormáidí Éagsúla (PDF/TXT/DOC/HTML...)  /  Baisc a thiontú go PDF  /  Easpórtáil Leathanaigh mar Íomhánna  /  Priontáil Comhaid Il ag an am céanna...

Eagarthóireacht na nÁbhar: Faigh Baisc agus Ionadaigh thar Chomhaid Il  /  Athraigh Méid Gach Pictiúr  /  Trasnaigh Rónna Tábla agus Colúin  /  Tiontaigh Tábla go Téacs...

🧹 Effortless Glan: Sguab as Spásanna Breise  /  Sosanna Alt  /  Gach Ceanntásca  /  Boscaí Téacs  /  Hipearnasc  / Le haghaidh tuilleadh uirlisí a bhaint, ceann chuig ár Bain Grúpa...

Ionsáigh Cruthaitheach: cuir isteach Míle Deighilteoir  /  Boscaí Seiceála  /  Cnaipí Raidió  /  Cód QR  /  barcode  /  Tábla Líne Trasnánach  /  Fotheideal Cothromóid  /  Fotheideal Íomhá  /  Fotheideal Tábla  /  Pictiúir Il  / Faigh amach níos mó sa Cuir isteach Grúpa...

🔍 Roghanna Beachtais: Pionta leathanaigh ar leith  /  táblaí  /  cruthanna  /  míreanna ceannteideal  / Feabhsaigh an loingseoireacht le níos mó Roghnaigh gnéithe...

Feabhsuithe Réalta: Déan nascleanúint go tapa chuig aon láthair  /  cuir isteach téacs athchleachtach go huathoibríoch  /  scoránaigh gan uaim idir fuinneoga doiciméad  /  11 Uirlisí Tiontaithe...

???? Ar mhaith leat triail a bhaint as na gnéithe seo? Kutools le haghaidh Word cuireann a Triail saor in aisce 60 lá, gan teorainneacha! 🚀
 
Comments (36)
Rated 5 out of 5 · 3 ratings
This comment was minimized by the moderator on the site
Just found this, very helpful. Also thanks for the suggested mods above. I am struggling with the following:

If ((Right(xFileName, 4)) <> ".doc" Or Right(xFileName, 4) <> ".docx") Then


It seems to ask to do the conversion if it's not a doc or docx? (Leaving aside that, I think, for docx it should be last 5 chars, not 4?) Anyway,
This comment was minimized by the moderator on the site
the code stopped. I clicked debug. code below was highlighed yellow

Please, any assistance? thank you

Documents.Open Filename:=xFolder & xFileName, _
ConfirmConversions:=False, ReadOnly:=False, AddToRecentFiles:=False, _
PasswordDocument:="", PasswordTemplate:="", Revert:=False, _
WritePasswordDocument:="", WritePasswordTemplate:="", Format:= _
wdOpenFormatAuto, XMLTransform:=""
This comment was minimized by the moderator on the site
Thank you for this. It has just saved me so much time and provided education. I will peruse your site for more top tips.
Thank you again. Brilliant quick fix. One does have to ask, why do MS make such things so impossible to find in their products.
Rated 5 out of 5
This comment was minimized by the moderator on the site
Здравствуйте! Огромное спасибо за модуль! Но есть проблема, у меня куча папок и в каждой папке больше двухсот файлов с разными именами.. Можно ли сделать так чтобы ваш модуль сохранял файлы в PDF не под номерами 1,2,3... и т.д, а под своими собственными именами файлов!? Помогите пожалуйста, и я буду молиться за вас ВЕЧНО!!))
This comment was minimized by the moderator on the site
Hi Егор,
I don't quite understand your question. After converting the file using the VBA code, the name of the PDF file is the same as the name of the Word file.
This comment was minimized by the moderator on the site
Здравствуйте! Большое спасибо вам, за то что вы есть! Спасибо за код он почти идеальный, но ОЧЕНЬ прошу Вас помочь с одним нюансом... Мне Очень важно чтоб ваш макрос сохранял в PDF не под номерами 1.2.3 и т.д, а брал название вордовского файла и сохранял под ним. У меня сто папок и в каждой по 251 файл со своим собственным названием... Мне это Очень нужно, пожалуйста помогите!?????.....
This comment was minimized by the moderator on the site
The VBA macro worked like a charm! :D
Rated 5 out of 5
This comment was minimized by the moderator on the site
Hi Myles,
Thank you for your feedback.
This comment was minimized by the moderator on the site
Hello is there a way to select a different output folder and not the original folder?

thank you
This comment was minimized by the moderator on the site
Hi Vincent,
Please try the following VBA code. After running the code, an Open window pops up, please select a folder containing the douments you want to convert, in the second popping up Save PDF files in window, select a folder to save the PDF files.

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
This comment was minimized by the moderator on the site
The code does not convert my Word files
This comment was minimized by the moderator on the site
This code is amazing and fast but if there is a link in the Doc file it will open a window stating there may be information linked to another file apply these changes? and then another asking to save as. Is there a way to add to the code to automatically do these steps for me? Out of ~800 there are ~40 and I must be present and do this every time.
thank you
Rated 5 out of 5
This comment was minimized by the moderator on the site
Hi Vincent,
The following VBA code can do you a favor. Please give it a try. Thank you for your feedback.

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
This comment was minimized by the moderator on the site
Вот тут во втором условии надо 4 заменить на 5:
If ((Right(xFileName, 4)) <> ".doc" Or Right(xFileName, 5) <> ".docx") Then
Для исключения проблемы наличия точек можно сделать так:
xIndex = InStr(xFileName, ".doc") + 1
Ну и про советы других товарищей не забыть ;)

This comment was minimized by the moderator on the site
Thank you so much! Saved me so much time!
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations