İçindekiler
Farklı kaydet
Bu Word makrosu, ActiveDocument'ı geçerli saati içeren yeni bir dosya adıyla kaydeder:
Sub SaveMewithDateName() 'aktif dokümanı geçerli klasöre filtrelenmiş bir html olarak kaydeder ve geçerli zamana göre adlandırılır Dim strTime As String strTime = Format(Now, "hh-mm") ActiveDocument.SaveAs FileName:=ActiveDocument.Path & "\" & strTime, FileFormat:=wdFormatFilteredHTML End Sub
Oluştur ve Kaydet
Bu VBA makrosu yeni bir belge oluşturacak ve geçerli tarih ve saati kullanarak kaydedecektir:
Sub CreateAndSaveAs() 'yeni bir doc oluşturur ve filtrelenmiş bir html olarak kaydeder [Varsayılan klasörde ve geçerli zamana göre adlandırılır] Dim strTime As String Dim strPath As String Dim oDoc As Document strPath = ActiveDocument.Path & Application.PathSeparator strTime = Format (Şimdi, "yyyy-aa-gg ss-mm") oDoc = Documents olarak ayarlayın. 'Yeni bir belge oluşturun ve onu oDoc değişkenine atayın' oDoc değişkeni oDoc.Range.InsertBefore kullanarak yeni belgeye bir metin yazın "https://easyexcel.net/vba-code-library adresini ziyaret edin" oDoc.SaveAs DosyaAdı:=strPath & strTime, FileFormat:=wdFormatFilteredHTML oDoc.Close wdDoNotSaveChanges 'dokümayı kapat End Sub
PDF Olarak Kaydet
Bu makro, Word belgesini PDF olarak kaydeder:
Sub MacroSaveAsPDF() 'makro, pdf'yi etkin belgenin bulunduğu klasöre veya dosya henüz kaydedilmemişse belgeler klasörüne kaydeder ' Dim strPath As String Dim strPDFname As String strPDFname = InputBox("PDF için ad girin", "Dosya Adı ", "example") Eğer strPDFname = "" ise 'kullanıcı giriş kutusundan metni sildi, varsayılan adı ekleyin strPDFname = "example" End If strPath = ActiveDocument.Path Eğer strPath = "" O zaman 'doc henüz kaydedilmedi strPath = Seçenekler. DefaultFilePath(wdDocumentsPath) & Application.PathSeparator Else 'sonuna sadece \ ekleyin strPath = strPath & Application.PathSeparator End If ActiveDocument.ExportAsFixedFormat OutputFileName:= _ strPath & strPDFname & ".pdf", _ ExportFormat OpenFormat:=wPDerFt =Yanlış, _ OptimizeFor:=wdExportOptimizeForPrint, _ Range:=wdExportAllDocument, _ IncludeDocProps:=True, _ CreateBookmarks:=wdExportCreateWordBookmarks, _ BitmapMissingFonts:=True End Sub
Bu işlev ayrıca herhangi bir kelime belgesini PDF olarak kaydeder:
Sub MacroSaveAsPDFwParameters(İsteğe bağlı strPath As String, İsteğe Bağlı strFilename As String) 'strPath, geçirilirse, yol ayırıcıyı içermelidir ["\"] Eğer strFilename = "" ise strFilename = ActiveDocument.Name End If 'uzantısız sadece dosya adını ayıkla If InStr (1, strFilename, ".") > 0 Sonra strFilename = Left$(strFilename, InStrRev(strFilename, ".") - 1) End If strPath = "" O zaman ActiveDocument.Path = "" O zaman 'doc değilse henüz kaydettiysek, varsayılan yolu kullanacağız strPath = Options.DefaultFilePath(wdDocumentsPath) & Application.PathSeparator Else ' aktif doc yolunu kullan strPath = Options.DefaultFilePath(wdDocumentsPath) & Application.PathSeparator End If End If On Error Hata Varsa EXITHERE ActiveFixportAs ActiveDocument'a Git. OutputFileName:= _ strPath & strFilename & ".pdf", _ ExportFormat:=wdExportFormatPDF, _ OpenAfterExport:=False, _ OptimizeFor:=wdExportOptimizeForPrint, _ Range:=wdExportAllDocument, _ IncludeDocProps:_=TrueBook, _ IncludeDocProps:_=True, BitmapEksikFon ts:=True Exit Sub ÇIKIŞ: MsgBox "Hata: " & Err.Number & " " & Err.Description End Sub
Hangi dosyanın PDF olarak kaydedileceğini belirtmek için dosya yolunu ve dosya adını girebilirsiniz:
Sub CallSaveAsPDF() Call MacroSaveAsPDFwParameters("c:/Documents", "example.docx") End Sub