access(Microsoft365版) VBAの書式付き文字列のコピー方法で困っています。

access(Microsoft365版) VBAの書式付き文字列のコピー方法で困っています。 現在は、DBのリッチテキストデータをテキストボックス(リッチテキスト形式)に表示していて、それを (textboxのオブジェクト).SetFocus DoCmd.RunCommand acCmdCopy という風にコピー処理しています。 これをWORD文書に書式付きで貼り付け(ctrl-v)てみると Version:1.0 StartHTML:0000000000 EndHTML:0000000000 StartFragment:0000000000 EndFragment:0000000000 という、richtextのHTMLヘッダの一部のみが文字列として貼り付けられ、元のテキストは無い状態です。 もちろん、WORDの「貼り付けのオプション」を使用すれば、書式なしでテキストの貼り付けは可能ですが、これではテーブルでリッチテキストフィールドを使用する意味がありません。元のリッチテキストとして書式付きでクリップボードから取り出せる方法を教えてください。 参考:「クリップボードに情報を送信する」 https://docs.microsoft.com/ja-jp/office/vba/access/concepts/windows-api/send-information-to-the-clipboard

Microsoft Access27閲覧

ベストアンサー

0

その現象はどのようなデータでも発生するのでしょうか? 例えばテキストボックスに ABC とだけ入力してどうかなど。 単純なデータで問題ないのであれば、 入力されたリッチテキストの問題かと思います。 提示されたコードを試してみましたが 特に問題はありませんでした。

回答いただきありがとうございます。  たしかに、textboxの編集ロックを外して、”ABC"と入力して赤文字属性を付けてコピー処理してみると、正常に赤文字がペーストできました。おっしゃるとおり、入力されているデータに問題があるかも知れません。ただ、元のデータも、textbox上は書式付きで正常に表示されていますから、おかしな話ではあります。プレーンテキストで表示してみても異常そうなタグは無さそうですし...。  それはともかく、もともとはwordに入力された文章から取り込んだものですが、調査の必要がありそうです。ありがとうございました。前に進めそうです。