素人がExcelVBAによる「一人働き方改革」に挑むブログスマートフォン用の表示で見る素人がExcelVBAによる「一人働き方改革」に挑むブログExcelVBAネタです。不正なファイル名を検出するFunction作ってみた。コードコードは次の通り。Booleanは引数と返り値の設定。ファイル名を表す文字列を受け取って、結果をBooleanで返す。Trueでひとまず返り値をTrueにしておく。Functionするだけで済む。"|")で、禁則文字を配列化。FunctionNextで、引数fileName内に禁則文字があったら、その時点でExitするようにしている。これで、禁則文字が1つでもあったらTrueが返ることになる。Falseが待っている。ここまで来たということは、禁則文字がファイル名に使われていなかったということなので、Falseをreturnしておしまい。使ってみる禁則文字がないので、Falseが返った。禁則文字「\」があるので、Trueが返った。禁則文字「/」があるので、Trueが返った。禁則文字「*」があるので、Trueが返った。おわりにこういうちょっとしたものをため込んでおくと便利。数が多くなってくると、モジュールを分けて気の利いた名前を付けて整理するとかしておかないと、せっかく作った便利メソッドが埋もれてしまう。(id:t-hom)さんからコメントをいただき、上掲リスト1の(3)のところでSplit関数を用いることにした。各要素を半角スペースで区切り、Split関数の第2引数を省略すると、第2引数に半角スペースを指定したのと同じになるらしい。たしかに、いちいち一つづつ「"」で括ってArray関数を使うよりかなり楽だ。ついでに、Forループ用のカウンタもLboundとUboundで指定するようにした。禁則文字が増減することはあまりないだろうし、マジックナンバーといえど、このプロシージャ内で完結しているので、無問題とは思いますが......。»プロフィールid:akashi_keirinExcelVBAネタです。SyntaxHighlighter.all();注目記事はてなブログをはじめよう!akashi_keirinさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。