0
で、Vbaスクリプトを作成し、選択したフォルダ内の同じドキュメントの複数のバージョンを比較しました。このスクリプトを使用すると、結果とともに新しいレポートを作成できます。Word vbaマクロにプロセスインジケータを追加
Private Sub SummaryReportButton_Click()
Dim objDocA As Word.Document
Dim objDocB As Word.Document
Dim objDocC As Word.Document
Dim objFSO As Scripting.FileSystemObject
Dim objFolderA As Scripting.Folder
Dim objFolderB As Scripting.Folder
Dim objFolderC As Scripting.Folder
Dim colFilesA As Scripting.Files
Dim objFileA As Scripting.File
Dim i As Integer
Dim j As Integer
Set objFSO = New FileSystemObject
Set objFolderA = objFSO.GetFolder(ChooseFolder("Choose the folder with the original documents", ThisDocument.Path))
Set objFolderB = objFSO.GetFolder(ChooseFolder("Choose the folder with revised documents", ThisDocument.Path))
Set objFolderC = objFSO.GetFolder(ChooseFolder("Choose the folder for the comparisons documents", ThisDocument.Path))
Set colFilesA = objFolderA.Files
For Each objFileA In colFilesA
If objFileA.Name Like "*.docx" Then
Set objDocA = Documents.Open(objFolderA.Path & "\" & objFileA.Name)
Set objDocB = Documents.Open(objFolderB.Path & "\" & objFileA.Name)
Set objDocC = Application.CompareDocuments(_
OriginalDocument:=objDocA, _
RevisedDocument:=objDocB, _
Destination:=wdCompareDestinationNew)
objDocA.Close
objDocB.Close
On Error Resume Next
Kill objFolderC.Path & "\" & objFileA.Name
On Error GoTo 0
objDocC.SaveAs FileName:=objFolderC.Path & "\" & objFileA.Name
objDocC.Close SaveChanges:=False
End If
Next objFileA
End Sub
Function ChooseFolder(strTitle As String, strPath As String) As String
Dim fldr As FileDialog
Dim sItem As String
Set fldr = Application.FileDialog(msoFileDialogFolderPicker)
With fldr
.Title = strTitle
.AllowMultiSelect = False
.InitialFileName = strPath
If .Show <> -1 Then GoTo NextCode
sItem = .SelectedItems(1)
End With
NextCode:
ChooseFolder = sItem
Set fldr = Nothing
End Function
私がスクリプトを改善するには、処理が完了するまでインジケータをプロセスに表示してください。
私はメッセージボックスを使用すると考えられて:あなたは私が何を助けてもらえ
...
Msgbox "Processing " & i & " of " & colFilesA.Count
をそれはそれは最善の解決策ではありません...毎回クリックする必要があります最高のソリューション?あなたの助けを事前に
おかげで、
よろしく
単語がファイルを結果という問題を保存する直前の数時間の間に開かれます(ポップアップで「保存された文書にはトラックの変更が保存されますか?」)。これを避けるために実装する方法はわかりません – coeurdange57
'Application.DisplayAlerts = False'はプロパティを 'True'に戻すまでシステムアラートを抑制します。アラートがオフになっている間、Wordは既定の応答を選択します。警告ボックス内のどのボタンがあらかじめ選択されているかを調べることで、デフォルトをテストすることができます。 – Variatus
'.ShowModal'を' False'に設定して 'UserForm'を挿入することもできます。これは必要に応じてロードされ、' Label'で進捗状況を表示します。 – macejd