VBE上の文字検索で「パターン文字列が不正です」

このQ&Aのポイント
  • VBE上での文字検索で「パターン文字列が不正です」というメッセージボックスが表示されます。文字列を明らかにコード上に存在するものを検索しているにも関わらず、不正な文字列として扱われてしまう現象です。
  • この問題は、VBエディタ上での検索機能の不具合と思われます。テキストエディタ上では検索が正常に動作するため、VBエディタ環境特有の問題です。
  • 全角漢字や半角英字に限らず、特定の文字列によっても検索結果がずれたり、検索ができなかったりすることも報告されています。具体的な原因は不明ですが、VBエディタのバグと考えられます。
回答を見る
  • ベストアンサー

VBE上の文字検索で「パターン文字列が不正です」

 今晩は、質問させていただきます。どうぞよろしくお願いいたします。  環境:Win7 Home SP1      Excel2007 でございます。  VBエディタ上のプログラムの文字列をCtrl+Fから検索いたしますと、 何故か「パターン文字列が不正です。」のメッセージボックスが出てまいります。 挙動といたしましては、 ・検索しております文字列は、明らかにコード上にあるものでございます。 ・テキストエディタ(秀丸)上に全コードをコピーしてみると、その上での検索は普通にできます。  (→おそらくVBエディタ上のみでの不具合。) ・検索する文字によっては検索できたりもしますが、それらも何故か  検索結果(背景が青くなる文字列)が後ろへずれております。(全角1文字もしくは2文字分)  →添付図のようになります。 ・全角漢字も半角英字も検索ができなかったり、検索結果がズレたり致します。  「パターン文字列が不正です」で検索しておりますと、「VBAによる検索」の際に、LKEを使うとこのようなコメントが出るようでございますが、今回のような「VBエディタ上のコード検索」は見つけられませんでした。。。  皆様のPC上でこのような挙動をしたことはございますでしょうか??  もしお詳しい方がいらっしゃいましたら,どうぞよろしくお願いいたします。

  • MKT_
  • お礼率99% (329/330)

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

パータン文字列が不正です。 Invalid pattern string (Error 93) >検索結果(背景が青くなる文字列)が後ろへずれております。(全角1文字もしくは2文字分) 他にも、不具合があるはずです。例えば、コピー&ペーストもままならないと思います。 原因は、VBEditor 上で使用する、フォントが、JISフォント(例:MS ゴシック)だからだと思います。たぶん、Office 2007の一部のバージョンに発生する現象のようです。他の上位バージョンでは聞いたことがありません。また、複数のバージョンを入れている時にも、検索が出来ないという現象が現れます。 VBEditor の[ツール]--[オプション]--[エディタの設定] [フォント名(F):] で使用するフォントを、[Meiryo UI]など、別のものに変えてみてください。 それで当面の不具合の問題は解決されるはずです。 試してみてください。 なお、Microsoft Support には、今回の現象は取り上げられていませんでした。 もしダメな場合は、IMEなどの別の要因が働いている可能性もあります。

MKT_
質問者

お礼

 WindFaller様  どうもありがとうございます!!m(_ _)m  まだ解決いたしておりません。orz なんとMSのヘルプまで目を通してみていただけたとの事で、 誠にありがとうございます。m(_ _)m  以下、テストしてみた内容になります。 1.他のPCにエクセルファイルを移動して、同じように検索。    → ◯出ません。   (なので別のPC上でコーディングすれば出来そうでございます。手間ですが。。。^^;) 2.Excel再起動    → ✕同じ現象が出ます。 3.「システムの復元」から、12月末日(←1番古い)のものにWindowsを復元    → ✕同じ現象が出ます。 4.>コピペ    →漢字も英語も色々テストしてみましたが、全て不具合はございませんでした。 5.>使用するフォントを、[Meiryo UI]など、別のものに   最初は、[MS ゴシック(日本語)]でございました。  [Meiryo UI(日本語)]、[メイリオ(日本語)]、[Times New Roman(欧文)]などに変更いたしましたが、 いずれのフォントにおいても、英語も漢字も、検索結果がずれたり「パターン文字列が~」のメッセージが表示されます。 6.Google IME → MicroSoft Office IME 2007 に変更。(上記3も継続)    → ✕同じ現象が出ます。 7.PowerPointのVBE上に全コードをコピペして、同じように検索。(上記3も継続)    → ✕同じ現象が出ます。  なお環境の追記になりますが、 ・64bitになります。 ・問題の現象の出るPCは購入して2年程度経ちますが、VBAは頻繁にコーディングしておりました。  (このような現象は見たことがございません。)  しかしここ1年ほどは別のPCでコーディングしておりまして、本PCは別の用途でほぼ毎日使用しておりました。  (従い、いつからこのような現象になったのか、が掴めておりません。。。) ・あと、↑の話でPowerPointが入っておりますが、「Professional」なのか「Personalに追加してPowerPointを入れた」のかは、覚えておりません。orz  となりますと、Officeの再インストールでしょうか。。。 (出来ればやりたくない次第でございます。)  この度はご親切に誠にありがとうございました!!m(_ _)m  

その他の回答 (1)

回答No.2

返事いただきまして、ありがとうございました。 今回の不具合は、Microsoft Supportに問い合わせても良いかもしれませんが、その前に私の知る情報をここに書いておきます。 > なお環境の追記になりますが、 >・64bitになります。 これは、重要なポイントですね。 Office は、64bit 環境でも、基本的には、32bit 環境で使う方がよいと明示されています。 https://support.microsoft.com/kb/895361/ja この文面は、機械翻訳なので、正確ではありません。 簡単な翻訳は、以下の#2に書かれています。 http://okwave.jp/qa/q8447466.html http://technet.microsoft.com/ja-jp/library/ee681792.aspx 「64 ビット版 Windows オペレーティング システム上であっても、32 ビット版 Office 2013 が既定でインストールされます。これらのシステムでは、32 ビットの Office クライアントは、Windows-32-on-Windows-64 (WOW64) インストールとしてサポートされています。WOW64 は、32 ビット版 Windows の アプリケーションが 64 ビット版 Windows システムでシームレスに実行できるようにする x86 エミュレーターです。」 「Office 2007 は、32bit 版用に起動するようには作られていますが、64bitで使う時には、32bit層で動きます」と書かれています。 この場合、システム自体は直接関係しないようです。

MKT_
質問者

お礼

 WindFaller様  どうもありがとうございます!m(_ _)m 2回もアドバイスいただきましてm(_ _)m >Office は、64bit 環境でも、基本的には、32bit 環境で使う方がよいと明示されています。 ということは「ひょっとするとアップデートで何かあるかな?」などと思いまして、 何件か試しましたが、改善いたしませんでした。。。orz http://support.microsoft.com/kb/2598032/ja は、「現在アップデートは利用できません」になりまして、 http://www.microsoft.com/ja-jp/download/details.aspx?id=28534 をインストールしようといたしますと、英語で「既にインストールされています」が表示されます。 Windowsアップデートを見ますと、Office関連のアップデートが4件ございましたので、先ほどインストールしてみましたが、変化はございませんでした。。。(;;  アドバイスいただいた通り、MSさんに聞いてみようと思います!! BAにつきましては、おそらくご回答No.1の「フォントの変更」で解決するであろう方がおられるように思いますので、そちらにさせていただきます。  この度はご親切に誠にありがとうございました!!!!m(_ _)m

関連するQ&A

  • 文字列検索について

    Googleなどの検索サイトのキーワード検索は、ユーザーと入力してもユーザがヒットする検索が出来ています。また、全角半角区別なしで文字列の検索をするにはどのようにしたらいいのでしょうか? よろしくお願い致します。

  • C#文字コードについて

    お疲れ様です。 いつもお世話になっております。 ディレクトリを開いて、ファイルをstreamreaderで読み込み、 処理をしてstreamwriterで書き込み。 というファイルを作っていて、文字コードの問題にぶち当たりました。 http://dobon.net/vb/dotnet/string/detectcode.html にあるプログラムを実行すると、 ある条件の時に、UTFがsjisと誤認されることがあり、それをなんとか解決できないかと考えています。 ある条件とは、 あa テストPHP など、文字コードがUTF8で、全角と半角英字が隣り合う文字列が合った場合です。 全角と半角数字ではUTF8と正しく認識されるようです。 ただし、 aあ のように、半角英字全角の組み合わせでは誤認は起きません。 同じように、 あ a テスト php と、半角スペースが空いたり あ a と、全角スペースであけてもUTF8と認識されるようです。 普段PHPで、文字コードについて深く意識したことが無かったので、 なぜこういった誤認が起きるのかが検討つきません。 どういったことが原因だと考えられるのでしょうか? また、それを改善するのに何をすればよいでしょうか? よろしくお願いします。

  • 実行時エラー93 パターン文字列が不正です

    ifステートメントでlike演算子を使っていると、 ある文字列で「パターン文字列が不正です」というエラーになります。 意味が分からないのですが、like演算子で使えない文字列があるのでしょうか?

  • eclipseエディタでの文字列検索について

    eclipseエディタでの文字列検索について eclipse(GALILEO)のエディタで開いたソースコードの中を文字列で検索する(Ctrl+F)場合についてです。 この時に表示される検索用ダイアログ(添付画像)で「Findボタン」などをクリックしてマウス操作をすることなく、キー入力だけで次々と検索対象を移動したいのですが、ショートカットキーは何でしょうか? 次のショートカットキーを知りたいです。 (1)次の検索対象に移動する。 (2)前の検索対象に戻る。 (3)検索が最後まで到達した場合、最初に戻る。 どうぞよろしくお願いします。

    • ベストアンサー
    • Java
  • MySQLで半角濁音文字の検索

    宜しくお願い致します。 MySQLのselect検索時にフリーワード検索をしています。 DB上には半角・全角文字が混在しており、検索窓に入力した文字の全角・半角を区別せずに検索しております。 文字コードがUTF-8なので、SQL文のwhere区で「collate utf8_unicode_ci」を指定して全角・半角の区別無しで検索しております。 しかし、半角濁音文字、たとえば「ベルト」や「パワー」等の文字列がDB上に半角カタカナで入っている場合に検索窓に全角で入力しても検索できません。 原因はDB上では半角の「ヘ」と「濁音記号」として認識しており、検索窓に入れた文字列は、そのまま「ベ」という1文字として認識しているので検索できないと思われます。 この問題を解決する方法が無くて悩んでおります。 どなたかご教授の程、宜しくお願いいたします。

    • ベストアンサー
    • MySQL
  • エディタで検索できない

    エディタで検索できない 「memo.pl?id=1234567」 という文字列があります。この文字列はテキストの中に沢山でてきます。 これを秀丸エディタ、サクラエディタなどで検索しても検索にヒットしません。数値部分のみを検索すればヒットしますが、上記の文字列はヒットしません。なぜヒットしないのでしょうか?上記の文字列をコピーして検索ウィンドウにペーストしても同じ結果です。

  • 検索の実用目安

    文字列から指定キーワードの全角、半角、ひらがなを検索して、該当の行を表示させています。 文字列が一万行を越えたあたりから検索に1分ほど掛かるようになりました(文字数は20万以上)。全角半角の対応やifなどで細々途中経過がありますので、時間的にこんなもんでしょうか? エディタのように一瞬で拾いたいのですが。。

    • 締切済み
    • PHP
  • オラクル10gで開発を行っています。文字コードはJA16SJISTIL

    オラクル10gで開発を行っています。文字コードはJA16SJISTILDEです。 現在、テーブルの中には条件なしで様々な文字種類のデータが入っているとします。 全角ひらがな・カタカナ、半角数字・カタカナ、全半角英字・記号等です。 例えば”アイウエオ”を含む文字列を検索するselect文を実行したとき、 以下のようなものがヒットします。 ”アイウエオ” ”アイウエオ” ←半角カタカナ ”あいうえお” ←ヒットしてもしなくてもよい。 例えば”ガギグゲゴ”を含む文字列を検索するselect文を実行したとき、 以下のようなものがヒットします。 ”ガギグゲゴ” ”ガギグゲゴ” ←半角カタカナ ”がぎぐげご” ←ヒットしてもしなくてもよい。 例えば”&”を含む文字列を検索するselect文を実行したとき、 以下のようなものがヒットします。 ”&” ”&”←半角記号 要は、何が言いたいのかいいますと、全角文字の文字列で検索を行ったとき、 全角・半角の区別をしないで検索結果を得るSQL文を考えています。 どのようなSQLにすればよいのかアドバイスをお願いします。 もし、SQL文のみでは実現不可能であれば、●●●といった形で検索結果を 得てそのうち△△△に該当するデータを抽出するといった複数ステップを踏む 方式でも構いません。

  • 正規表現で特定文字列の全角カナと半角カナの両方を検索したいと思っています。

    正規表現で特定文字列の全角カナと半角カナの両方を検索したいと思っています。 たとえば リンゴ と リンゴ(半角カナ) にマッチする正規表現、ということです。 想定環境はWindowsXP Pro+秀丸7です。 意味不明でしたら加筆修正しますのでよろしくお願いします。

  • 全角で囲まれた文字列の抽出をしたい。

    全角で囲まれた文字列の抽出をしたい。 phpコマンド preg_match($pattern,$str,$match)を使い $str = "で検索した結果 1~10件目 / 約14件 - 0.09秒"; を 「約」と「件」で囲まれた「14」という文字列を抽出したいのですが $patternの正規表現がわかりません。 教えてください。

    • ベストアンサー
    • PHP

専門家に質問してみよう