メイン コンテンツへスキップ
サポート
Microsoft アカウントでサインイン
サインインまたはアカウントを作成してください。
こんにちは、
別のアカウントを選択してください。
複数のアカウントがあります
サインインに使用するアカウントを選択してください。

現象

Microsoft Visual Basic for Applications (VBA) を使用して文書のプロパティを変更すると、次のいずれかのエラー メッセージが表示されることがあります。

実行時エラー '4248':

文書が開かれていないため、このコマンドは使用できません。

または

実行時エラー '4605':

文書ウィンドウが選択されていないためメソッドまたはプロパティが使用できません。

または

実行時エラー '5941':

指定されたコレクションのメンバは存在しません。

原因

この問題は、文書を開いていない場合、または VBA で実行したプログラムで参照している文書が開かれていない場合に発生します。Word でプロパティを変更できるのは、開かれている (非表示になっていない) 文書のみです。

注 : Visible プロパティが False に設定されている文書を開いた場合にも、これらのエラー メッセージが表示されることがあります。

回避策

マイクロソフトは、この情報をプログラミング言語の使用方法の一例として提供するだけであり、市場性および特定目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。この資料は、例示されているプログラミング言語やプロシージャの作成およびデバッグに使用するツールについて理解されているユーザーを対象としています。Microsoft Support Professional は、特定のプロシージャの機能についての問い合わせにはお答えできますが、ユーザー固有の目的に合わせた機能の追加、プロシージャの作成などの内容変更は行っておりません。プログラミングに習熟されていない場合、マイクロソフト認定パートナー、あるいはマイクロソフトの有償サポート窓口までお問い合わせください。マイクロソフト認定パートナー、有償サポート窓口については、次のマイクロソフト Web サイトを参照してください。

https://partner.microsoft.com/global/30000104
http://support.microsoft.com/default.aspx?scid=/isapi/gomscom.asp?target=/japan/support/supportnet/is.aspマイクロソフトが提供するサポート オプションの詳細については、次のマイクロソフト Web サイトを参照してください。

http://support.microsoft.com/contactus/この資料に掲載されているサンプル コードの使用方法を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。

290140 OFFXP: How to Run Sample Code from Knowledge

次の Visual Basic for Applications サンプル マクロは、[プロパティ] ダイアログ ボックスの [タイトル] フィールドの値を変更する方法の例です。このサンプルには、開かれている文書が存在しない場合にエラーのトラップを行い、エラー メッセージを表示するためのコードも含まれています。

Sub ChangeDocProperties()

On Error GoTo ErrHandler
ActiveDocument.BuiltInDocumentProperties("Title") = "My Title"
Exit Sub

ErrHandler:
If Err <> 0 Then
'
' エラー メッセージを表示します。
'
MsgBox Err.Description
'
' Error オブジェクトを初期化します。
'
Err.Clear
Resume Next

End If

End Sub

次のサンプル マクロには、次の処理を実行するコードが含まれています。

  • 文書が開かれていない場合、エラーのトラップを行います。


    および

  • エラーがトラップされた場合、新しい文書を作成します。


    および

  • エラーが発生した行から、実行を再開します。

Sub ChangeDocProperties()

On Error GoTo ErrHandler
ActiveDocument.BuiltInDocumentProperties("Title") = "My Title"
Exit Sub

ErrHandler:
If Err <> 0 Then
'
' 文書を追加します。
'
Documents.Add
'
' Error オブジェクトを初期化します。
'
Err.Clear
'
' エラーが発生したコードを実行します。
'
Resume

End If

End Sub

関連情報

この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 813983 (最終更新日 2003-04-29) を基に作成したものです。


ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。

この情報は役に立ちましたか?

言語の品質にどの程度満足していますか?
どのような要因がお客様の操作性に影響しましたか?
[送信] を押すと、Microsoft の製品とサービスの改善にフィードバックが使用されます。 IT 管理者はこのデータを収集できます。 プライバシーに関する声明。

フィードバックをいただき、ありがとうございます。

×