こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

【VBA】クリップボードに格納したデータの操作

こんにちは。ExcelVBAについての質問です。
HP等の文字列をコピーして、テキストデータを取得するところまではできるのですが、
その内部にあるURLをどうやって取得したらよいのかで困っております。

例えば、HP上に【あいうえお】といったリンクがあるとします。
これをドラッグコピーしてクリップボードに格納しその
テキストは New DataObjectのGetTextで取得できますが
その場合、ただの「あいうえお」といったテキストデータになってしまいます。
その内部にあるhttp//・・・・・・・・ といったデータが取得できません。

ドラッグコピーでクリップボードに格納するだけではURLは取得できないのでしょうか?
ドラッグコピーしたデータをセルをアクティブにしないで貼り付けると
文字が青色になりハイパーリンクになって張り付きます。
ということは内部のURL情報もクリップボードに格納されているということだと思いました。
説明下手で申し訳ありませんが、よろしくお願い致します。

投稿日時 - 2007-07-02 04:30:41

QNo.3132473

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

補足:
早い話、クリップボードの中で取れるテキストは、ソースなのです。
そのソースから取り出そうとしても、ハイパーリンクとしては役に立たなかったのです。そのコードをつなぎ合わせれば、出来るけれども……。

投稿日時 - 2007-07-03 10:19:53

ANo.1

こんにちは。

今、マクロで試してみたのですが、取り出すことが出来なかったですね。

DataObject は、テキストデータのみですから、出来ないのは当たり前ですが、

しかし、今、API 関数の GetClipboardData で取り出してみたところ、私の環境では、

SourceURL は取れるのですが、個々のハイパーリンクは、取れませんね。

Debug.Print をみると、せいぜい、 
  <a href="c232.html">Office系ソフト

のようにしか取れません。テキストの場合は、取り出したものを、一旦、つなぎ合わせないと、情報にはならないのかもしれません。

セルに貼り付けたものなら、取り出すのは出来るとは思います。

なお、IE7 では、コピーと、ショートカット・コピーがあって、ショートカット・コピーで貼り付けすると、そのまま取れてしまうのですが、あえて、IE7 をお勧めしません。

投稿日時 - 2007-07-02 15:36:58

あなたにオススメの質問