差し込み印刷を実行した後、文書を個々の文書に分割し、特定の項目、好ましくは文書の最初の行の後に名前を付ける方法を見つけようとしています。ヘッダ。私はドキュメントを分割する方法しか見つけられませんでしたが、名前を付ける方法を理解することはできません。ドキュメントをヘッダーとして保存するためのVBAコードの記述方法についてのご意見は非常に高く評価されます。MS Word VBA:ヘッダーを使用して文書を保存する
0
A
答えて
1
文書を既に分割しているため、以下のコードでは最初の文を使用して名前を付けることがあります。
Private Function DocName(Doc As Document) As String
' 23 Aug 2017
Const Illegals As String = "\:/;?*|>"""
Static FaultCounter As Integer
Dim Fun As String
Dim Title As String
Dim Ch As String
Dim i As Integer
Title = Trim(Doc.Sentences(1))
For i = 1 To Len(Title)
Ch = Mid(Title, i, 1)
If (Asc(Ch) > 31) And (Asc(Ch) < 129) Then
If InStr(Illegals, Ch) = 0 Then Fun = Fun & Ch
End If
Next i
If Len(Fun) = 0 Then
FaultCounter = FaultCounter + 1
Fun = Format(FaultCounter, """Default File Name (""0"")""")
End If
DocName = Fun
End Function
ファイルを保存する前に、重複がないか確認してください。そのためにDir()関数を使い、上記のシステムを使って名前を重複させるための番号を付け加えて、最初の文が空であるかもしれないファイルに名前を付けます。
ファイル名に許可されていない文字も確認する必要があります。私は単純にASCII(32)以下のすべてをASCII(128)より除外し、Windowsが好まない既知のものを除外しました。その範囲をさらに変更することもできます。
Private Sub GetName()
Debug.Print DocName(ActiveDocument)
End Sub
0
これは私がこれまでのところ、私は非常に役立つウェブサイトのオフにそれを見つけることができたましたが、コードのように保存したコードです - :このような上記の機能の利用コードを呼び出すために
私はそれを把握しようとしている間に私は今すぐにそれを設定した単語 "レポート"、そして文書の番号。
Option Explicit
Sub splitter()
' splitter Macro
' Macro created by Doug Robbins to save each letter created by a mailmergeas
a separate file.
Application.ScreenUpdating = False
Dim Program As String
Dim DocName As String
Dim Letters As Integer, Counter As Integer
Letters = ActiveDocument.Sections.Count
Selection.HomeKey Unit:=wdStory
Counter = 1
While Counter < Letters
'program = ActiveDocument.MailMerge.DataSource.DataFields("Program_Outcomes_PlanReport_Name").Value
DocName = "Reports" & LTrim$(Str$(Counter)) 'Generic name of document
ActiveDocument.Sections.First.Range.Cut
Documents.Add
Selection.Paste
ActiveDocument.Sections(2).PageSetup.SectionStart = wdSectionContinuous
ActiveDocument.SaveAs filename:="E:\assessment rubrics\Templates" & "\" & DocName, FileFormat:=wdFormatDocument, LockComments:=False, Password:="",
AddToRecentFiles:=False, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:=False
ActiveWindow.Close
Counter = Counter + 1
Wend
Application.ScreenUpdating = True
End Sub
関連する問題
- 1. VBAを使用してWord文書を保護する
- 2. Excel VBA:ブックをWord文書として保存します。
- 3. MS Word VbaコマンドボタンWord文書にテキストを挿入する
- 4. MS Word VBAを使用してWord文書の入れ子リストをHTML入れ子リストに変換する
- 5. MS AccessおよびVBAを使用してMs Word文書のフィールドコード(データベース)フィールドを更新する
- 6. MS Office 365 Word文書保存イベントにアクセスできますか?
- 7. VBAを使用してWord文書またはXML文書を作成する
- 8. Word文書を保存するエラー - エラー
- 9. サーバに保存されているMS Wordの文書を開く
- 10. テキストマイニングMS Word文書?
- 11. MS WORD - フィールドコードを削除し、ヘッダーの値を保持する
- 12. WebページをWord文書として保存しますか? (VB.NET)
- 13. Word文書を読み取り、ファイルにテキストに基づいて文書を保存するVBAマクロ?
- 14. MS Wordの* * VBA
- 15. Javaを使用してWord文書をPDFに変換する
- 16. VBA MS Wordの条件付き書式
- 17. MS WordのMS Word文書をC#Windowsフォームから開く
- 18. Coverting MS Word文書は
- 19. 新しいWord文書を他のWordと同じディレクトリに保存するためのVBAコード
- 20. vbaを使用してWord文書のブックマークに計算値を設定する
- 21. VBAを使用したOffice 2010 Word文書のアウトラインレベルの確認
- 22. VBAボタンシートをWord文書にコピーする
- 23. Access 2007 VBAを使用してWord文書を作成して開く
- 24. Word 2003テンプレート - 文書の保存
- 25. Word文書の空白ページの削除VBAを使用した文書
- 26. MS WordのVBA:文書の添付されたテンプレート
- 27. MS Word文書に結合する
- 28. .NETライブラリMS Word文書をXPS文書に変換する
- 29. VBAを使用してWordシェイプを画像に保存するにはどうすればよいですか?
- 30. ExcelでVBAを使用してMicrosoft Word文書を開きます
あなたの現在のコードを投稿できますか? – 0m3r
私はこれに別の投稿を追加しました。私は自分のファイルを私が望む名前にする方法を考え出しましたが、今問題はそれを保存しています。これは質問のタイトルです:MS Word VBA:ファイルの保存、ランタイムエラー5152 – Cocoberry2526