- 締切済み
【VBA】クリップボードに格納したデータの操作
こんにちは。ExcelVBAについての質問です。 HP等の文字列をコピーして、テキストデータを取得するところまではできるのですが、 その内部にあるURLをどうやって取得したらよいのかで困っております。 例えば、HP上に【あいうえお】といったリンクがあるとします。 これをドラッグコピーしてクリップボードに格納しその テキストは New DataObjectのGetTextで取得できますが その場合、ただの「あいうえお」といったテキストデータになってしまいます。 その内部にあるhttp//・・・・・・・・ といったデータが取得できません。 ドラッグコピーでクリップボードに格納するだけではURLは取得できないのでしょうか? ドラッグコピーしたデータをセルをアクティブにしないで貼り付けると 文字が青色になりハイパーリンクになって張り付きます。 ということは内部のURL情報もクリップボードに格納されているということだと思いました。 説明下手で申し訳ありませんが、よろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Wendy02
- ベストアンサー率57% (3570/6232)
補足: 早い話、クリップボードの中で取れるテキストは、ソースなのです。 そのソースから取り出そうとしても、ハイパーリンクとしては役に立たなかったのです。そのコードをつなぎ合わせれば、出来るけれども……。
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 今、マクロで試してみたのですが、取り出すことが出来なかったですね。 DataObject は、テキストデータのみですから、出来ないのは当たり前ですが、 しかし、今、API 関数の GetClipboardData で取り出してみたところ、私の環境では、 SourceURL は取れるのですが、個々のハイパーリンクは、取れませんね。 Debug.Print をみると、せいぜい、 <a href="c232.html">Office系ソフト のようにしか取れません。テキストの場合は、取り出したものを、一旦、つなぎ合わせないと、情報にはならないのかもしれません。 セルに貼り付けたものなら、取り出すのは出来るとは思います。 なお、IE7 では、コピーと、ショートカット・コピーがあって、ショートカット・コピーで貼り付けすると、そのまま取れてしまうのですが、あえて、IE7 をお勧めしません。