以前に質問をさせていただき、こちらでベストアンサーを決定した後に急きょ変更があったところがあり、わからなくなってしまいこちらに戻ってきた次第です。
http://oshiete.goo.ne.jp/qa/8743521.html
にて質問をさせていただきました内容について、以下のVBAで解決できております。
しかし、抽出したファイル名にハイパーリンクが欲しいという要望を受けてしまいました。
ハイパーリンクのVBAについていろいろ調べましたが、この記述方法に追加して実行する方法が全く分かりませんでした。
お分かりになる方がいましたら、この内容にハイパーリンクをつける方法をお教えいただけますでしょうか。よろしくお願いいたします。
Sub Macro1()
Dim i As Long
Dim myPath As String, Flnm As String
ReDim Flnmfp(0) As String
Dim WS1 As worksheet
Set WS1=ThisWorkbook.sheets("sheet1")
myPath="望みのフォルダパスを入力"
Call fpFileName(myPath, Flnmfp ) 'フォルダ内のファイル名取得
If Ubound(Flnmfp)=0 Then 'フォルダにファイルが無ければ終了
Exit Sub
End if
For i =1 to Ubound(Flnmfp)
Workbooks.open filename := Flnmfp(i)
Flnm=Dir(Flnmfp(i))
With Workbooks(Flnm).sheets("sheet1")
WS1.Cells(2, i).value=.Range("G5").value
WS1.Cells(3, i).value=.Range("G6").value
WS1.Cells(4, i).value=.Range("K7").value
WS1.Cells(5, i).value=CStr(.Range("G9").value) & CStr(.Range("N9").value) & CStr(.Range("P9").value)
'同じ要領で望みのセルを記入する
WS1.Cells(8, i).value=Flnm
End with
Workbooks(Flnm).close Savechanges:=False
Next i
End Sub
Sub fpFileName(ByVal myPath As String, ByRef Flnmfp() As String)
'サブフォルダも含め全部のxlsファイル名をフルパスで取得する
Dim cnt As Long, buf As String, f As Object
buf = Dir(myPath & "\*.xls")
Do While buf <> ""
cnt = Ubound(Flnmfp) + 1
ReDim Preserve Flnmfp(cnt)
Flnmfp(cnt)= myPath & "\" & buf
buf = Dir()
Loop
With CreateObject("Scripting.FileSystemObject")
For Each f In .GetFolder(myPath).SubFolders
Call fpFileName(f.Path, Flnmfp)
Next f
End With
End Sub
No.1
- 回答日時:
For i=1 to Ubound(Flnmfp)の上に
WS1.HyperLinks.Delete
を追加。処理前に全ハイパーリンクを解除する。
Next iの上に
WS1.Hyperlinks.Add Anchor:=Cells(8, i), Address:=Flnmfp(i)
No.2ベストアンサー
- 回答日時:
社内で出来る人が居ないなら、この機会に勉強してはどうですか?私もプログラマではなく、仕事上の必要から勉強した片手間VBAです。
1年位ですよ。ただし、手広くやり過ぎるとマクロ係みたいになって本業から外されるリスクがあるのでご注意を。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ラジオボタンの選択で解答・点...
-
自動的に連番生成したURLにリン...
-
IEだと良いがFireFoxだと動作し...
-
value内に変数を入れたい
-
Jqueryを使って値の合計を簡単...
-
プルダウン4つ連動+α
-
フォームに入力された数値を計...
-
テキストボックスに入力された...
-
tableの任意行にfocusをあてる
-
クリックされた罫表セルの行番...
-
全てのselect要素をデフォルト...
-
プルダウン 項目が多いので先頭...
-
一覧から選択した行の行番号を...
-
submitするとなぜか2度実行する
-
ドロップダウンリストの値の足...
-
チェックボックス付きのテーブ...
-
チェックボックスにチェックが...
-
複数のプルダウンメニューの表...
-
変数の宣言?
-
リンク先にまで色変更されたま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
value内に変数を入れたい
-
UART通信の取説で,left floati...
-
javascriptでhiddenに二次元配...
-
hiddenのvalueの値を変えたい
-
VB.NET DateTimeの型について
-
テキストボックスに入力された...
-
CDOMailで本文テキストの文字コ...
-
setIntervalの間隔を途中で変更...
-
javascriptにてHTMLのhiddenエ...
-
ラジオボタンの選択で解答・点...
-
子から親へチェックボックスの...
-
フォームで入力した値を別のフ...
-
複数のsubmitボタンで押された...
-
selectboxのoptionタグのvalue...
-
Pythonで会員サイトの自動ログ...
-
クイズ作成:15個の問題から5個...
-
どのボタンがクリックされたの...
-
eval()を使わずに数値を取得し...
-
VBAをJavaScriptに変換したいです
-
ホームページビルダーのスクリ...
おすすめ情報