上で KazJaw が言ったように、中級の VBA ユーザーとして、ユーザーが説明どおりに Word ドキュメントを選択できるようにするユーザーフォームと関連コードを作成できるはずです。Word 文書を扱うようになると、Excel のコーディングとは少し異なります。
これについて私が知っていることを少し共有しましょう。
まず、Word オブジェクト ライブラリが有効になっていることを確認します。[ツール] メニューの [参照設定] をクリックします。利用可能な参照のリストで、適切な Microsoft Word オブジェクト ライブラリを見つけて選択します。
私が理解しているように、レイトバインディングとは、値を割り当てるときにオブジェクトタイプを宣言することを意味します。これで「システム レジストリへのアクセス エラー」の問題が解決するかどうかわかりません。最初に変数を汎用オブジェクトとして定義して Word ドキュメントを呼び出すときに、遅延バインディングを使用しました。
Dim wdApp As Object
Dim wd As Object
次に、作成したオブジェクトを定義します。
On Error Resume Next
Set wdApp = GetObject(, "Word.Application") 'establishing the word application
If Err.Number <> 0 Then
Set wdApp = CreateObject("Word.Application")
End If
On Error GoTo 0
Set wd = wdApp.Documents.Open("C:\YourFilePath") 'establishing a file to use
それが完了したら、使用可能なコマンドを使用して Word の操作を開始できます。これらはすべて、Web 上の他の場所で見つけることができるはずです。または、コンパイラのヒントを使用します (Word.Application.ActiveDocument.
たとえば、入力して開始すると、リストが表示されます)。そのドキュメントの操作に使用できる関数の数)。wd
特定のドキュメントを参照するために以前に定義した変数を使用したものをいくつか示します。
wd.Activate 'activate the word doc
wd.PrintOut 'printout the word doc
wd.FormFields("BundleNumber1").Result = sBundleNumber 'fill in a pre-established form field with data stored in the variable 'sBundleNumber'
wd.Close 'close the word doc
ドキュメントのコンテンツ全体を選択している場合、それはかなり単純明快であると思います (のようなものWord.Application.ActiveDocument.SelectAllEditableRanges
ですが、ドキュメントのサブセクションを選択する必要がある場合は、Word で範囲をほぼ同じように定義できることを知っておく必要があります)。 Excel で定義されているのと同じ方法ですが、端は Excel のセルほどきれいではありません.段落と改行で定義されていると思いますが、これがどのように行われるかを調査する必要があります.私はそれをやったことがありません.
これが、(必要に応じて) コミュニティがラングリングできるコードを作成するのに役立つことを願っています。