MS Office で VBA を使用して、Windows クリップボードにテキストを追加し、Word に表として貼り付けるにはどうすればよいですか?
4 に答える
Windows クリップボードは、複数の形式をサポートしています。クリップボードに何かを配置したいときは、RegisterClipboardFormat() を 1 回以上呼び出して、クリップボードに配置するオブジェクトのフォーマットを伝え、続いて実際にデータをクリップボードに配置する SetClipboardData() を呼び出します。 .
表を Word に貼り付けたい場合は、HTML が最も簡単な形式です。HTML テーブルをクリップボードにコピーするだけで、最初にクリップボード データを HTML オブジェクトとして登録していれば、正しく Word に貼り付けられます。
いくつかのコードを提供したいと思いますが、MSDN の例を参照するのが最も簡単です。
Visual Basic を使用して HTML コードをクリップボードに追加する方法
このページには、HTML テーブルをクリップボードにコピーする例も示されています。
クリップボードは素晴らしいです...しかし、クリップボードを使用してプログラムからの出力を保持し、Wordに貼り付けることについては少し大雑把に思えます。あなたがやろうとしていることは、おそらく他の方法でやるべきだと思いますか?
HTML テーブルとしてフォーマットしようとしましたか?
Windows プログラミングを行ってからしばらく経ちましたが、オブジェクトの形式を登録したことを思い出したようです。実際、異なる形式の複数のオブジェクトを登録することができ、貼り付けアプリケーションはそれらの中から選択できます (Word のPaste Special
オプションなどを使用)。
Word テーブル オブジェクトを作成し、そのセルにデータを入力してから、それをクリップボードにコピーしようとします。