Wordでテーブルとして貼り付けるようにテキストをクリップボードに配置する方法は?

StackOverflow https://stackoverflow.com/questions/297220

質問

MS OfficeでVBAを使用して、Windowsクリップボードにテキストを追加して、Wordに表として貼り付けるにはどうすればよいですか

役に立ちましたか?

解決

Windowsクリップボードは複数の形式をサポートしています。クリップボードに物を置きたいときは、RegisterClipboardFormat()を1回以上呼び出して、クリップボードに置くオブジェクトの形式を伝え、その後、実際にデータをクリップボードに置くSetClipboardData()を呼び出します。 。

表をWordに貼り付けることができるようにしたい場合は、HTMLを使用するのが最も簡単な形式です。 HTMLテーブルをクリップボードにコピーするだけで、クリップボードのデータを最初にHTMLオブジェクトとして登録した場合、Wordに正しく貼り付けられます。

コードを提供しますが、MSDNの例を参照するのが最も簡単です:

Visual Basicを使用してクリップボードにHTMLコードを追加する方法

このページには、HTMLテーブルをクリップボードにコピーする例も示されています。

他のヒント

Klugeの答えは正しいですが、MSDNのこの別の記事には、再利用しやすいより優れたコードがあります: http://blogs.msdn.com/jmstall/archive/2007/01/21/html-clipboard.aspx

HTMLテーブルとしてフォーマットしようとしましたか?

Windowsプログラミングを行ってからしばらく経ちましたが、オブジェクトの形式を登録したことを思い出すようです。実際、異なる形式の複数のオブジェクトを登録でき、貼り付けアプリケーションはそれらの中から選択できます(Wordの Paste Special オプションなど)。

Wordテーブルオブジェクトを作成し、そのセルにデータを入力してから、クリップボードにコピーしようとします。

クリップボードは素晴らしい...しかし、プログラムからの出力を保持してWordに貼り付けるためにクリップボードを使用することについては、少し大雑把に思えます。あなたがしようとしていることは何ですか、おそらく他の方法でやるべきでしょうか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top