過去ログ

                                Page     825
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼全角文字をエラーに  mika 03/3/4(火) 17:38
   ┗Re:全角文字をエラーに  りん 03/3/5(水) 8:15
      ┗Re:全角文字をエラーに  mika 03/3/5(水) 10:06

 ───────────────────────────────────────
 ■題名 : 全角文字をエラーに
 ■名前 : mika
 ■日付 : 03/3/4(火) 17:38
 -------------------------------------------------------------------------
   久々に質問させていただきます。
よろしくお願いしますm(__)m

ExcelからCSVファイルを作成しようと思っています。
その際に、ファイル名(フォルダも含む)を半角英数のみにし、ファイルパスに全角文字が入っているときエラーにするには、どんなif文にすればよいでしょうか?
教えて下さい。

よろしくお願い致します。
 ───────────────────────────────────────  ■題名 : Re:全角文字をエラーに  ■名前 : りん <rin_doggie@hotmail.com>  ■日付 : 03/3/5(水) 8:15  -------------------------------------------------------------------------
   mika さん、おはようございます。

>ExcelからCSVファイルを作成しようと思っています。
>その際に、ファイル名(フォルダも含む)を半角英数のみにし、ファイルパスに全角文字が入っているときエラーにするには、どんなif文にすればよいでしょうか?
>教えて下さい。

ファイル名を指定 → 文字列の長さとバイト単位の長さを比較して違っていたら全角が混ざっている。

Sub Test()
  Dim Bfile As Variant, AA As String
  Bfile = Application.GetOpenFilename
  '
  If Bfile = False Then
     MsgBox "キャンセルしました", vbInformation, "判定しない"
  Else
   If Len(Bfile) = LenB(StrConv(Bfile, vbFromUnicode)) Then
     MsgBox Bfile, vbInformation, "全部半角"
   Else
     MsgBox Bfile, vbExclamation, "全角含む"
   End If
  End If
End Sub

こんな感じです。

http://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=3255;id=excel
StrConv(ファイル名,vbFromUnicode)な理由はこのツリー。
...ってもしかして、同じ人ですかな(笑)。
 ───────────────────────────────────────  ■題名 : Re:全角文字をエラーに  ■名前 : mika  ■日付 : 03/3/5(水) 10:06  -------------------------------------------------------------------------
   前回に引き続き、りんさん、どうもありがとうございました!
おかげさまで、全角のチェックがうまくいきました。

普段はPerlとHTMLなどをしているのですが、Excelは時々しか使わないので、恥ずかしながらほとんど無知です(^_^;)
これからもお聞きすることがあるかと思いますが、よろしくお願い致します。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 825