開くダイアログボックスの動作の変更(Microsoft Word)
Bronwynは、複数のファイルを連続して開くことができるように、[開く]ダイアログボックスを強制的に表示したままにする方法があるかどうかを尋ねました。 [開く]ダイアログボックスを使用して複数のドキュメントを同時に開くことができますが、これはBronwynが望んでいたことではありません。
接線方向にのみWordを使用する1つの解決策は、ファイルエクスプローラー(Windows 10)またはWindowsエクスプローラー(以前のバージョンのWindows)を使用することです
フォルダ内のファイルを表示します。すべてのドキュメントファイルを表示するエクスプローラウィンドウを開きます。次に、ファイルをダブルクリックするか、ファイルの選択セットを作成して右クリックし、[開く]を選択します。ウィンドウは継続的に使用可能であり、[開く]ダイアログボックスを繰り返し表示することを心配する必要はありません。
Word内で直接ソリューションを好む場合は、Wordは非常に構成可能であることに注意してください。つまり、プログラムのほぼすべての側面を変更できます。これには、[開く]ダイアログボックスの動作が含まれます。次のように、FileOpenコマンドの代わりを作成するだけです。
Public Sub FileOpen() Dim err_handler On Error GoTo err_handler With Dialogs(wdDialogFileOpen) .Name = "." Do While .Show <> 0 .Name = "." Loop End With Exit Sub err_handler: If Err.Number = 5174 Then MsgBox "You can open only one file at a time.", vbCritical Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description, vbExclamation End If End Sub
このマクロを配置すると、Wordで[開く]ダイアログボックスが表示されるたびに、指定したファイルの種類として[すべてのファイル]が表示されます。その後、ファイルを選択すると、ダイアログボックスが再び開き、次の選択を待ちます。ダイアログボックスで[キャンセル]をクリックすると、コマンドが終了し、Wordで他のタスクを開始できます。
この[開く]ダイアログボックスの実装と、Wordで通常表示される実装には違いがあります。 Wordでは、[開く]ダイアログボックス内に「選択セット」を作成して、複数のファイルを同時に開くことができます。 wdDialogFileOpenダイアログボックスを使用する場合(Openコマンドの独自の置換を作成するときに行われるように)、一度に選択できるファイルは1つだけです。これはBronwynにとっては大きな問題ではないようですが、他のユーザーにとっては問題になる可能性があります。
一度に複数のファイルを開く機能を保持する必要がある場合は、コマンドバーコントロールを実行できます。ただし、commandbarcontrolの実行時に、誰かが[キャンセル]をクリックしたかどうかをテストすることはできません。したがって、ループから抜け出すための別の方法が必要です。次のルーチンでは、複数のファイルを選択して開くことができますが、ダイアログボックスに応答して、ダイアログボックスを表示するループを終了する必要もあります。
Sub GetNewFiles() Dim Response Do While Response <> vbNo CommandBars("Standard").Controls("&Open...").Execute Response = MsgBox(Prompt:="Open another file?", Buttons:=vbYesNo) Loop End Sub
注:
このページ(または_WordTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
_WordTips_は、費用効果の高いMicrosoftWordトレーニングのソースです。
(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(12357)は、Microsoft Word 2007、2010、2013、2016、2019、およびOffice 365のWordに適用されます。このヒントのバージョンは、ここにWordの古いメニューインターフェイス:
linkダイアログボックスを開く動作の変更。