Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


666 / 13645 ツリー ←次へ | 前へ→

【79097】リンク(外部)が切れているセルの抽出方法 tt 17/5/9(火) 16:20 質問[未読]
【79098】Re:リンク(外部)が切れているセルの抽出... γ 17/5/9(火) 20:33 発言[未読]
【79112】Re:リンク(外部)が切れているセルの抽出... tt 17/5/12(金) 16:46 発言[未読]
【79115】Re:リンク(外部)が切れているセルの抽出... γ 17/5/13(土) 8:10 回答[未読]
【79116】Re:リンク(外部)が切れているセルの抽出... γ 17/5/13(土) 11:54 発言[未読]
【79117】Re:リンク(外部)が切れているセルの抽出... tt 17/5/15(月) 12:00 お礼[未読]

【79097】リンク(外部)が切れているセルの抽出方...
質問  tt  - 17/5/9(火) 16:20 -

引用なし
パスワード
   他サイト含め同様の質問と回答を読んで試してみましたが、私が超初心者と言うこともあり、なかなかうまく行きません…(Excel2010)

ECサイトで使用するバナーをエクセルで管理しており、下記のようにどのバナーにどの商品画像を使用したかが分かるようなリストを作成し、該当する商品ページのリンクも設置しています。

|  A列  |    B列    |    C列    |    D列     
| バナーa | 商品1(リンク付) | 商品2(リンク付) | 商品3(リンク付) 
| バナーb | 商品4(リンク付) |         |
| バナーc | 商品5(リンク付) | 商品6(リンク付) |




商品が無くなればページも無くなりますし、その商品の画像は使用すべきではないのでバナーからは該当する画像を撤去したいのですが、現状は無くなった商品のリストを作成し、上記のリストと比較して重複の条件式でリンク切れを探しています。

なんとか上記リストだけで完結出来ないものかと思い、VBAでの対処方法を模索しているのですが、なかなか…

リンク切れが分かりさえすれば、「リンク切れのセルの色が変わる」だろうが、「リンク切れのテキストの色が変わる」だろうが、その他の通知方法でももちろん構いません。

ご教示頂けましたら幸いです。
宜しくお願い致します。

【79098】Re:リンク(外部)が切れているセルの抽...
発言  γ  - 17/5/9(火) 20:33 -

引用なし
パスワード
   ・URLを引数にとり、
・それがリンク切れかどうかを返す、
function プロシージャを提供しようと思いますが、
それでOKですか?

質問を読み違えている可能性があるので、確認です。

【79112】Re:リンク(外部)が切れているセルの抽...
発言  tt  - 17/5/12(金) 16:46 -

引用なし
パスワード
   ▼γ さん:
>・URLを引数にとり、
>・それがリンク切れかどうかを返す、
>function プロシージャを提供しようと思いますが、
>それでOKですか?

ご返答ありがとうございます!

ご確認頂いた内容への回答が遅くなってしまい申し訳ございません。
超初心者ですので、「function プロシージャ」がどういうものかを必死に調べてました。

ご推察の通りです!
ご確認頂いた内容でご教示頂ければ幸いです。
何卒よろしくお願いいたします!

【79115】Re:リンク(外部)が切れているセルの抽...
回答  γ  - 17/5/13(土) 8:10 -

引用なし
パスワード
   以下のようなものを念頭に置いていました。

Dim ht As Object

'' url がネット上にあれば Trueを返し、なければ Falseを返す。
Function checkURL(url As String) As Boolean
  If ht Is Nothing Then
    Set ht = CreateObject("Msxml2.ht.6.0")
  End If
  ht.Open "HEAD", url, False
  ht.send
  checkURL = ht.Status = 200
End Function

'テスト検証
Sub test()
  Dim url As String
  
  url = "ht tp://www.vbalab.net/img/spacer.gif" ' スペース取る必要あり
  Debug.Print checkURL(url)
End Sub

前回うっかり回答コメントをしてしまいましたが、
質問を読み返すと、ECサイトの運用にかかわる方なんでしょうか。
それなら、周りに専門家がいくらでもいるでしょう。
こうした質問などせずに、内部で解決するべきではないですか?

なお、認証への対応が必要なはずで、上記のものでは足りません。
それは承知しています。
もし、Basic認証であれば、
AuthorizationヘッダーにBase64エンコード処理を施したIDやpwdをセットする
方法で対応できるはずです。ネット上にサンプルもあります。

業務でしょうから、こうした場で質問するより、
きちんと内部で対応されることをお勧めします。
組織としてきちんと対応するべき事柄です。
不測のことが起きても、責任は負いかねます。

【79116】Re:リンク(外部)が切れているセルの抽...
発言  γ  - 17/5/13(土) 11:54 -

引用なし
パスワード
   訂正です。
Set ht = CreateObject("Msxml2.ht.6.0")
のところ誤変換されてしまっています。

"Msxml2.ht.6.0"の htのところを
アルファベットで エイチ ティー ティー ピー としてください。

# > 迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。
# ということで、ht・・の4文字は入力を受け付けてくれないのです。
# それで変数をhtの二文字にしたのだけど、CreateObjectのところも同時に
# 誤変換してしまった次第。

【79117】Re:リンク(外部)が切れているセルの抽...
お礼  tt  - 17/5/15(月) 12:00 -

引用なし
パスワード
   ▼γ さん:
ご回答ありがとうございます!
ご教示頂いたとおりにやってみます。

結果は改めてご報告させていただきますね!

666 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free