フォルダー内のファイルとリンクするマクロVBA
エクセルのマクロ機能を使い、エクセルのセルに管理番号入力し選択してマクロ実行すると、
自動でセルに入力した管理番号と同じフォルダー名の物を指定した場所に作成し、ハイパーリンクするVBAを
見よう見まねで作成しました。
この作成したVBAに追加機能を付けたいのですが、
WEBで検索したのですが、なかなか実行したい事が合う内容のものが見つからず、
マクロ初心者で何をどうすれば良いのか解りません。
大変申し訳ありませんが、どなたか教えて頂けませんでしょうか?
追加したい機能は、例としてA列の4と5の行を結合(結合しない場合もある)して管理番号を入力し、
自動で管理番号名のと同じフォルダーを作成しハイパーリンクした後に、
手動で、作成したフォルダーの中にファイルを入れる。
その後、行に同じファイル名を入力し、その行を選択してファイル名が同じ物があればハイパーリンクする様にしたい。
添付の画像ですと、管理番号を付けるのはA列で順番に番号を付けていきます。
1つのフォルダーの中に複数ファイルを入れる場合は、列を結合して1つの管理番号にし、
同じ行に並ぶフォルダーのE列(列の場所は変わる場合もあり)にフォルダーの中のファイル名を入力して、
フォルダー内同期リンク実行ボタンを押してファイルをハイパーリンクしたい。
※管理番号で列に対し行は1:1の時もあれば、ファイルの数により、列を結合し1:2~1:10以上もある。
※自動で管理番号名のと同じフォルダーを作成しハイパーリンクするVBAは下記で作ったのですが、
それをWEBで、似た様な内容のものを少し参考に編集しると、現在の機能も使えなくなってしまったりと困っています。
難しい。
Sub MakeHyLink()
Dim wkStr As String
If ActiveCell.Column <> 1 Then Exit Sub
If ActiveCell.Value = "" Then
MsgBox "アクティブセルは未入力、やり直し"
Exit Sub
End If
wkStr = ThisWorkbook.path & "\TEST\" & ActiveCell.Value
If Dir(wkStr, vbDirectory) = "" Then
MsgBox "フォルダー:" & wkStr & vbLf & " を、作成します。"
MkDir wkStr
Else
MsgBox "フォルダー:" & wkStr & vbLf & " は、存在します。"
End If
ActiveSheet.Hyperlinks.Add Anchor:=ActiveCell, Address:=wkStr
End Sub