Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


65115 / 76732 ←次へ | 前へ→

【16192】文字列長の指定方法について
質問  Ark  - 04/7/20(火) 17:12 -

引用なし
パスワード
   度々で申し訳ありません。
皆様のお力を貸してください。

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に解ってもらうように命令を出してあげられないです。。
1 hits

【16192】文字列長の指定方法について Ark 04/7/20(火) 17:12 質問
【16196】Re:文字列長の指定方法について Asaki 04/7/20(火) 17:38 回答
【16220】Re:文字列長の指定方法について Ark 04/7/21(水) 11:00 お礼

65115 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free