• ベストアンサー

excel vba ハイパーリンク

excelでハイパーリンクからwebサイトを呼び出そうとして不適切なURLだと 「サイトへのリクエストが正しくありません」とメッセージを表示してくれる便利な機能があります この機能を呼び出して不適切であるかどうか判定してハイパーリンク先をあらかじめチェックするマクロを組みたいのですが、どのように記述すればよろしいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

(1)URLの文字列としてだけの形式チェック (2)アクセスして、実際にWEBサイトが出てくるか(閉鎖サイトの古いURLもある) ーこれはアクセスをやってみないとわからないだろう。 (3)出てくるとして、そのサイトのセキュリティ面などの危険度(「url チェック」で照会すると記事が出る) などの観点からのことが話題としてあるが、(1)だけなら、「正規表現」(VBAに親和性のあるのはVBscriptのRegExpですが)などを使ってチェックする記事がある。 Googleででも「url 文字列チェック」「url  チェック 正規表現」(記事はPHPのが多い)などで照会すれば記事が出てくる。 質問者の立場や技量は、質問に説明されていないが、エクセルVBAだけしか首を突っ込んでいないレベルでは、新たに正規表現(.NETぐらいでないとMSは正面切って正規表現に力を入れてない感じがする。オフィスではワイルドカードどまり。)の学習はむつかしく時間がかかり、(上記(2)の問題があり、形式だけチェックしても完全でないので)ほどほどにしておいてはどうかと。広範囲なコンピュター技量獲得を目指すなら別です。

angel2015
質問者

お礼

回答ありがとうございました(`・ω・´)

関連するQ&A

  • Excelのハイパーリンクについて

    昨日、 エクセル2000に URLを一行に一個という形で 200個ほどコピペしました。 こちらにはハイパーリンクはついていません。 この200個にハイパーリンクをつける効率の良い 方法はありませんか? (1)ハイパーリンクの編集     ↓ (2)URLをコピー     ↓   (3)貼り付け で一つずつハイパーリンクをつけていかなければならないですか? (1)、(2)、(3)をマクロにしてみた所 コピーしたURLを貼り付けてしまうため、 だめでした。 簡単なやり方のほうが助かりますが マクロ等をいじる方法でも問題ありません。 教えていただけると非常に助かります。 よろしくお願いいたします!!!

  • 【エクセル】ハイパーリンク先のチェック

    【エクセル】ハイパーリンク先のチェック いつも、ご回答いただきありがとうございます。 現在、エクセル内に2000個弱のハイパーリンクがあります。 そのハイパーリンク先のホームページが実際にあるのかどうか、 リンク切れチェックをしたいのですが、手動&目視でやるには時間が かかり過ぎてしまいます。 マクロで自動的にチェックできるスクリプトなどは無いでしょうか? ご存知の方がいらっしゃいましたら、ご助言いただけないでしょうか? よろしくお願いします。

  • EXCELのハイパーリンク

    EXCELのハイパーリンクについて教えて下さい。 EXCELにて700件程のハイパーリンクを作成しようと考えていますが数が多いため1件ずつハイパーリンク先を設定するには多くの時間と労力を要しますのであらかじめローカルフォルダ名とファイル拡張子を入力しておき、ファイル名だけを入力すればハイパーリンクを自動設定する方法はないでしょうか? お手数ですがお知恵をお貸し下さい。宜しくお願いします。 例) ・セルA1にローカルフォルダ名又はURLの一部 ・セルB1にファイル名又はURLの一部 ・セルC1にファイル拡張子又はURLの一部 これらを結合(A1&B1&C1)したハイパーリンク先をセルD1に表示すると共にセルD1をローカルフォルダ内のファイル又はサイトを自動的にハイパーリンク設定させる。

  • WEBパスワード、エクセルのハイパーリンクについて

    あるサイトがあります。 そのサイトに入るのに、トップページでIDとパスワードが必要です。 オートコンプリート機能を有効にしていますが、IDとパスワードが記録されません。 他のサイトのオートコンプリート機能は働いているので、そのサイトは記録させないよう設定しているのではないかと思います。 そして、そのサイトに入ると、PDFファイルが見られるようになっています。 今回、エクセルのハイパーリンクでそのサイトのPDFに飛べるようにしました。 やり方は、ハイパーリンクの挿入→リンク先を「ファイル、webページ」にしアドレスをPDFのURLをコピペ→OK です その結果、リンク先のページのトップページがまず表示し、IDやパスワードを入力すると、PDFをやっと見ることができます。 それが作業が大変面倒なので、ハイパーリンクでリンク先が直接PDFを見られるようにしたいです。 (やりたいこと) ・エクセルのリンクをクリックしたら、すぐに(トップページでIDやパスワードを入力することなく)PDFを見られるようにする。 もしそれが不可能であるならば、せめてオートコンプリート機能でIDやパスワードを記憶させておき、PDFが表示されるまでの作業を楽にしたいです。 また、サイトからPDFを自分のフォルダに保存しておき、保存したPDFにリンクする方法もあるのかもしれませんが、ファイル数がかなりあるので自分のフォルダの容量を考えると、できたらわざわざフォルダに保存しない方法がいいではないかと思っています。 どなたか分かる方がいたら教えてください。 よろしくお願いします。

  • ワードでURLにハイパーリンクできません

    ワード文書に直接書いたURLやWebサイト表示中にアドレス欄からコピーしたURL・・・URLは青色反転していて下線も付いています。しかしこれらをクリック(手のひらマーク)しても「~を開くことができません。インターネットサーバー又はプロキシサーバーが見つかりませんでした」というメッセージが出るだけでIEが起ちあがりません。どうしたらハイパーリンクが働くでしょうか? XP、ワード2000-SP3、IE6を使用。エクセル上では問題なく、またワードでもメールアドレスはちゃんとOEが起ちあがります。ワードの「ツール」「オートコレクト」内では「インターネットとネットワークのアドレスをハイパーリンクに変更する」にチェックを付けています。「挿入」から「ハイパーリンク」、「リンクの編集」なども試しましたが・・・ よろしくお願いします。

  • エクセルのハイパーリンクについて教えて下さい

    エクセルのあるセルにハイパーリンクの設定でURLがリンクしています。そのセルの表示にはURLではなく、いろいろな名前が表示されているのですが、このセルのURLのみを一発で読み取る方法はないのでしょうか? 例えば、違うセルにURLのみをコピーする関数など、 あったら教えて下さい。 今は1回1回ハイパーリンクの編集を開いて行っているのですが、非常に数が多いため効率を上げたいと思っています。 まだまだ、素人でよく分からないことが多いのですが、 どうぞよろしくお願いします。

  • Excelでハイパーリンクが機能しない

    ExcelでURLを入力するとハイパーリンクになり、そのURLのページに飛べるはずですが、それが利きません。 Excelは2010です。 シートの左上のファイルタブをクリックし、オプションから文章校正→オートコレクトのオプション→入力オートフォーマットタブの「インターネットとネットワークのアドレスをハイパーリンクに変更する」にチェックが入っています。 しかし、入っているにもかかわらずURLを入力してもハイパーリンクにならないのです。 ほかに設定等があるのでしょうか? 他のBOOKでもハイパーリンクが利いたり利かなかったりする時もあります。 URLのせいって事あるのでしょうか?   OSはWindows7 32bit です。 Excelは2010です。   よろしくお願いします。

  • EXCELのボタンとハイパーリンクについて

    こんにちは。よろしくお願いします。 EXCELの97でも2000でも2002でも構わないのですが、 EXCELのフォームツールバーある「ボタン」をつかって ボタンをクリックすると特定のフォルダにジャンプする という操作をしたいのですが・・・・ 今は、とりあえず任意のセルに、ハイパーリンクを作成し、 C:\My Documents\表計算 というような、ハイパーリンクを作っていて、実行すると Explorerが起動して、表計算フォルダに中に入っている ファイルを選択するという形です。 そして、キー登録のマクロで、ハイパーリンクのところを クリックする。というのを作成し、ボタンをハイパーリンクの上に 作成し(ハイパーリンクの文字をボタンで隠しているような状態です) ボタンにマクロを登録しているような状態です。(分かっていただけますか?) そこで、質問は 「ボタンに直接ハイパーリンクの記憶をさせたい。」 (任意のセルにハイパーリンクを作らなくてもいいようにしたい) ということです。きっとマクロを記述できれば良いのでしょうが、 全くマクロに対しては、知識がありません。 意味がわからなければ、いくらでも、補足しますので、よろしくお願いします。

  • エクセル・ハイパーリンクの関数処理

    エクセル・ハイパーリンクの関数処理 Excel 2007を使っています。 セルC列にハイパーリンクを含むデータが並んでいます。 このURLをD列に取り出したいのですが、 関数処理で出来ますか。出来るのでしたら教えてください。 出来ない場合は、マクロでも結構です。お願いします。

  • ハイパーリンクを別ウィンドウで開く

    (前提) ExcelをWebサーバに置き、ブラウザでそのExcelを表示させます。 また、そのExcelにはハイパーリンクがあり、さまざまなサイトのURLへリンクしています。 (行いたいこと) ブラウザでExcelを開き、リンクをクリックしたときに別ウィンドウで各リンクサイトを開かせることは可能でしょうか? 可能でしたら、やり方を教えていただけると非常に助かります。