Word VBA -makrot - SaveAs (PDF tai uusi tiedostonimi)

Tallenna nimellä

Tämä Word -makro tallentaa ActiveDocumentin uudella tiedostonimellä, joka sisältää nykyisen ajan:

Sub SaveMewithDateName () 'tallentaa aktiivisen asiakirjan nykyiseen kansioon suodatettuna html-tiedostona ja nimetään nykyisen ajan mukaan Dim strTime As String strTime = Muoto (Nyt, "hh-mm") ActiveDocument.SaveAs FileName: = ActiveDocument.Path & "\" & strTime, FileFormat: = wdFormatFilteredHTML End Sub

Luo ja tallenna

Tämä VBA -makro luo uuden asiakirjan ja tallentaa nykyisen päivämäärän ja kellonajan mukaan:

Sub CreateAndSaveAs () 'luo uuden asiakirjan ja tallentaa suodatettuna html -tiedostona [Oletuskansioon ja nimetty oikeaan aikaan] Dim strTime As String Dim strPath As String Dim oDoc As Document strPath = ActiveDocument.Path & Application.PathSeparator strTime = Format (Nyt "vvvv-kk-pp hh-mm") Aseta oDoc = Documents.Add "luo uusi asiakirja ja liitä se oDoc-muuttujaan" kirjoita teksti uuteen asiakirjaan viittaamalla siihen oDoc-muuttujan oDoc.Range.InsertBefore avulla "Käy osoitteessa https://easyexcel.net/vba-code-library" oDoc.SaveAs FileName: = strPath & strTime, FileFormat: = wdFormatFilteredHTML oDoc.Close wdDoNotSaveChanges sulje asiakirja Loppuosa

Tallenna PDF -tiedostona

Tämä makro tallentaa Word -asiakirjan PDF -tiedostona:

Sub MacroSaveAsPDF () '-makro tallentaa pdf -tiedoston joko samaan kansioon, jossa aktiivinen asiakirja on, tai asiakirjakansioon, jos tiedostoa ei ole vielä tallennettu.' 'Dim strPath As String Dim strPDFname Kuten merkkijono "," esimerkki ") Jos strPDFname =" "Sitten 'käyttäjä on poistanut tekstin syöttölaatikosta, lisää oletusnimi strPDFname =" esimerkki "Loppu Jos strPath = ActiveDocument.Path Jos strPath =" "Sitten' doc ei ole vielä tallennettu strPath = Options. DefaultFilePath (wdDocumentsPath) & Application.PathSeparator Else 'lisää vain \ lopussa strPath = strPath & Application.PathSeparator End If ActiveDocument.ExportAsFixedFormat OutputFileName: = _ strPath & strPDFname & ".pdf", _ ExportDormExport = False, _ OptimizeFor: = wdExportOptimizeForPrint, _ Range: = wdExportAllDocument, _ IncludeDocProps: = True, _ CreateBookmarks: = wdExportCreateWordBookmarks, _ BitmapMissingFonts: = True End Sub

Tämä toiminto tallentaa myös minkä tahansa Word -asiakirjan PDF -tiedostona:

Sub MacroSaveAsPDFwParameters (valinnainen strPath merkkijonona, valinnainen strFilename merkkijonona) 'strPath, jos se on hyväksytty, on sisällettävä polunerotin ["\"] If strFilename = "" then strFilename = ActiveDocument.Name End If' ote vain tiedoston nimen ilman laajennusta If InStr (1, strFilename, ".")> 0 Sitten strFilename = Vasen $ (strFilename, InStrRev (strFilename, ".") - 1) End If If strPath = "" Then If ActiveDocument.Path = "" Sitten 'doc ei ole vielä tallennettuina, käytämme oletuspolkua strPath = Options.DefaultFilePath (wdDocumentsPath) & Application.PathSeparator Else 'aktiivisen asiakirjan käyttöpolku strPath = Options.DefaultFilePath (wdDocumentsPath) & Application.PathSeparator End If End Jos On Ongelma GoTo EXITHERE ActiveFormed.exe OutputFileName: = _ strPath & strFilename & ".pdf", _ ExportFormat: = wdExportFormatPDF, _ OpenAfterExport: = False, _ OptimizeFor: = wdExportOptimizeForPrint, _ Range: = wdExportAllDocument, _Wear: Sisällytä: BitmapMissingFon ts: = True Exit Sub EXITHERE: MsgBox "Virhe:" & Err.Number & "" & Err.Description End Sub

Voit syöttää tiedoston polun ja tiedoston nimen ja valita, mikä tiedosto tallennetaan PDF -tiedostona:

Sub CallSaveAsPDF () Soita MacroSaveAsPDFwParameters ("c:/Documents", "example.docx") Lopeta ala
wave wave wave wave wave