1

以前のバージョン (ここを参照) とは対照的に、Word2007 では、実行中の WinWord.exe のインスタンスごとに、実行中のオブジェクト テーブルに 1 つのエントリが配置されることがわかりました。(MS VC 6.0 に付属の IROTVIEW.exe を使用して!)
Word を自動化するアプリケーションを構築しようとしています。Word の非表示インスタンスをユーザーが使用できないようにし、別の表示インスタンスと共存させたいと考えています。Word が ROT に登録されないようにする方法、またはユーザーが Word ドキュメントをダブルクリックしたときに、そのドキュメントを開く可視インスタンスであることを確認する方法はありますか?

振り返ってみると、おそらく別の質問をする必要があります: DDE メッセージをブロードキャストし、正しいアプリケーション名を持つウィンドウが複数ある場合、どのウィンドウが最初にメッセージを処理するかを決定するものは何ですか? doc、docx 拡張子などのファイル関連付けは、ドキュメントを開くために DDE が使用されることを示していることを認識しているため、質問します。

4

1 に答える 1

1

質問が理解できないかもしれませんが、目に見えないインスタンスはすべての実用的な目的のために隠されています。ユーザーは、そのインスタンスまたはそれに関連付けられているドキュメントを開くことができません。

Public Sub Test()
    Dim currentDocument As Document

    Dim i As Long
    For i = 1 To 3
        Dim newApplication As Word.Application
        Set newApplication = CreateObject("Word.Application")
        Set currentDocument = newApplication.Documents.Add
        currentDocument.Range.InsertAfter "New instance " & i

        If i = 2 Then
            currentDocument.Windows(1).Visible = False
        Else
            currentDocument.Windows(1).Visible = True
        End If
    Next
End Sub
于 2010-07-24T17:06:11.303 に答える