EXCEL VBA複数のハイパーリンク付き文書を保存について
EXCEL VBA複数のハイパーリンク付き文書を保存について
検索が下手なのか,参考となる情報がなかなか見つからなかったため,初めて投稿しました。
EXCEL VBAは超初心者です。Verは2000になります。どうぞ,宜しくお願いします。
下記のような動作はできますでしょうか?(超初心者のため,できるのかどうかも分かりません。)
データの状態は,TESTというファイル名でSheet1のみ使用しており,1行目~24行目は操作上のセル参照などや操作説明文に使用しています。
B25にオートフィルタ▼マークがあり,以下B26からB300ぐらいまで「レ」が入っています。(これは今後増えていきます。)また,C列D列はハイパーリンク付き文書(**.xlsと**.html)があります。
(ユーザにC列D列を見て必要ない文書はB列の「レ」を削除後,B25のオートフィルタ▼を実行してもらう。この後の動作をVBAで行いたいと思っています。)
行いたいこと)
(1)選ばれたC列D列のハイパーリンク付き文書(全て)をD10で指定された場所へ保存する
補足)D10はユーザによって指定する場所が違う。(マイドキュメントとは限らない。)
Sub Macro5()
Dim sPath As String
Dim hwnd As Long
Dim iRet As Long
hwnd = FindWindow("XLMAIN", vbNullString)
iRet = GetFolderName(hwnd, "フォルダを選択してください。", sPath)
If iRet = 0 Then
If Len(sPath) > 3 Then sPath = sPath & "\"
Cells(10, 4).Value = sPath
ElseIf iRet = 1 Then
MsgBox "キャンセルされました。"
Else
MsgBox "エラーが発生しました。"
End If
End Sub
Web上で調べた上記コードを引用させていただいて,ユーザごとに希望保存場所が違うため,別ウィンドウからユーザに保存場所を指定してもらい,D10の値を参照するようにしました。
(2)(1)の時ファイル名を一部変更し保存する。(http://AAA.co.jp/BB/CC/DD/EE/○○-○○.xls → D10の値参照\○○-○○_C3の値参照.xls)○○-○○の部分を選ぶようにしたい。
補足)ファイル名は同じではない。
Sub Macro6()
Dim BookUrl As String
Dim BookName As String
BookUrl = Range("D10").Value
BookName = Range("C3").Value
Range("C28").Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True←ここの部分がハイパーリンクと関係ありなのでわからない。(ユーザにより選ばれる文書数が違いので)
ActiveWorkbook.SaveAs Filename:= _
"" & BookUrl & "00-00" & "_" & BookName & ".xls" ←ここの「00-00」の部分がハイパーリンクと関係ありなのでわからない。(各階層各文書名が違うので)
ActiveWindow.Close
End Sub
分からないこと)
ユーザによって選ばれる文書(抽出結果)が違うため,B列でレが選ばれた場合C列D列を見る。→その文書をD10セルで指定されている場所へ保存としたいが,C列D列の文書にハイパーリンクが貼ってあり,その階層もファイル名も行ごとに違うのでどうしたらいいかわからない。現在,1文書ならば行もファイル名も指定できるのでマクロの実行で保存し,上記コードでD10セルに指定されている場所へ保存できている。
分からないこと)をまとめると,
「ユーザごとに選ばれるハイパーリンク付き文書が違うが,これをD10で指定した場所へ保存したい」
「選ばれたハイパーリンク付き文書のハイパーリングからファイル名を変更して保存する際,「○○-○○」.xls部分のみ引用したい。この部分のみまだクリアーしていません。どうもハイパーリンクが絡むと分からなくなってしまいます。
質問の書き方も長々となってしまい,分かり辛いと思います。すみません。
どうぞ宜しくお願い致します。m(_ _)m
お礼
標準モジュールに入力したら欲しい情報が得られました。 ありがとうございました! 何をしたいかがないと重要な情報は得難いのはわかるのですがそれを入れてたら長くなりすぎましたので簡潔な質問にいたしました。 ご指摘ありがとうございます。