|
度々で申し訳ありません。
皆様のお力を貸してください。
Dim ファイルオープン As Variant
Dim filename As String
Sub ファイルを開いてコピペして閉じるまで()
Application.Dialogs(xlDialogOpen).Show 'ダイアログ表示&開くコマンド。
ブック = ActiveWorkbook.Name
If ファイルオープン <> False Then
k = 2 '行のスタートを指定
nochk = 0
Do Until Cells(k, 4).Value = "" '(行,4)の値がnullになるまで繰り返す
If Cells(k, 4).Value = ブック Then '(行,4)の値がブックと一緒だったら
nochk = 1 '重複チェックフラグを立てる
Exit Do
End If
k = k + 1 '行番号を加算
Loop
If nochk = 1 Then '重複チェックフラグが立っていたらメッセージ
MsgBox "NO:" & filename & " そのファイルは既に選択済みです" _
& Chr(13) & "ファイルを選択し直してください"
Else
このような重複チェックを行っているのですが、
”ブック”に入っているファイル名だとファイル名.xlsの拡張子まで入ってしまいます。
比較対照はファイル名_01.*など、後ろに番号やら他の.docや.ppt等の拡張子が入っています。
ですので、比較するのは「ファイル名を先頭から数えて10文字まで」にしたいのですが
どのような設定をすればよいのでしょうか?
valueを他のオプションに変えるか、比較用の宣言を作るかどちらかだと思うのですが、
見当がつかない状況です。
比較用の宣言は
「重複フラグ=ActiveWorkbook.Nameの先頭より10文字」というイメージなのですが
それをVBAに解ってもらうように命令を出してあげられないです。。
|
|