いつもお世話になります。EXCEL-VBAで質問です。
メーカー別・品番別に部品図を管理しており、それをEXCELでデータベース化しています。
ユーザーフォームを作成し、検索&新規入力が出来るようになっておりますが、今回は更にTextBox1に入った品番の該当ファイルを選択した状態で、フォルダを開くようにしたいでのです。
フォルダ構成は、「¥A社¥品番の頭文字¥品種¥ファイル名」が基本となっており、品種フォルダはない場合もあります。
A社¥A¥AAA¥AAA1x3
〃 ¥AAA1x5
¥AAAB¥AAAB1x10…
B社¥1¥1A1B20_250
〃 ¥B¥BC¥BC10x300…
このような感じです。品番は英数半角です。
ユーザーフォームのTextBox1には品番が、TextBox3にメーカー名が入るようになっています。
一応、自分で努力はしてみたのですが、品番の頭文字のフォルダを開くことはできましたが、それ以降は動いてくれませんでした。
Private Sub CommandButton3_Click()
Dim openpath As String
Dim opn As String
Dim openmaker As String
Dim openfolder As String
Dim opensubfolder As String
Dim openfile As String
Dim i As Long
openpath = ThisWorkbook.Path
openmaker = TextBox3
openfolder = Left(TextBox1, 1)
openfile = TextBox1 & "*" ←拡張子が多数あるので、ワイルドカードにしたいです
For i = 1 To 8 ※8というのは適当です。本当は左からアルファベットの文字を数えてループさせようとしたのですが、できませんでした。頭文字が数字の場合はどうすればいいのかも不明…
If Mid(TextBox5, i, 1) Like "[A-Za-z]" Then
opensubfolder = Left(TextBox1, i)
※品種フォルダがない場合はどうすればいいのでしょうか…
End If
Next
opn = openpath & "\" & "メーカー別" & "\" & openmaker & "\" & openfolder & "\" & opensubfolder
Shell "Explorer /select, & opn & openfile", 1
End Sub
お手数ですが、宜しくご教示お願い致します。
お礼
お世話になります。お返事遅くなり申し訳ありません。 ようやく、教えて頂いた数字と数字以外の組み合わせで 希望する動作の確認がとれました。 ありがとうございました。