• ベストアンサー

ユーザフォーム開くとエラーになる

開発途中のExcel2003ファイルですがテストの途中でユーザフォームを開くとパス名が無効ですと出ます。 それまでは何度となく開いていたのですがあるとき突然でたのです。ほかのユーザフォームでも同じように出ます。 そこで質問ですがユーザーフォーム名に漢字を使ってはいけないのでしょうか? それとオブジェクト名を変更してはいけないですか? それ以外には心当たりがないのですがそれ以外だとするとどうしておこったのでしょうか 初歩的な質問で申し訳ありませんが教えてください。

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

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.3

>コマンドボタンを押したところでユーザーフォーム名(漢字)でエラーです。 >F8でデバッグしてもそこでとまります。 では実験的にユーザーフォーム名をUserForm1に戻して実行してみたらどうなりますか? ちなみにその漢字のユーザーフォーム名は何でしょう?(差支えなければ) >他にもコマンドボタンは2~3つかっていますがその時点ではすべてが同じエラー表示になります。 >コマンドボタンを押さない限りF8デバッグで追っていてのエラーにはなりません。 もう少し判り易く具体的に説明してください。 例えば ○シート上に[コントロールツールボックス]からのCommnadButtomを幾つか配置している。 ○CommnadButtomに  Private Sub CommandButton1_Click()    漢字名フォーム.Show  End Sub  と記述してUserFormを呼び出している。 ○このCommnadButtomから実行するとエラーになる。 ○標準モジュールに  Sub Test()    漢字名フォーム.Show  End Sub  と書いて実行すればエラーが発生しない。 ...とか?

saab8743
質問者

お礼

回答ありがとうございます。 各ページ設定.Showをpeiji.Showに直したらエラーがでなくなりました。

その他の回答 (4)

  • layy
  • ベストアンサー率23% (292/1222)
回答No.5

>オプションの「自動保存」のところで、 >「次の間隔で回復用データの自動保存を行う」のチェックをはずし、 >「自動保存を行わない」のチェックを入れるとエラーが発生しなくなりました。 過去の事例(Ver.2002)でこういうのがあります。 自動保存はどうなっていますか?。

saab8743
質問者

補足

確認しましたらいつの間にか自動保存になっていました。 でもはずしても変化なかったみたいです。 なぜか漢字の名前を(各ページ設定)をアルファベットに変えたらエラーが出なくなり現在使えるようになりました ありがとうございました。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

>コマンドボタンを押したところでユーザーフォーム名(漢字)でエラーです。 そうであっても、UserForm内のコードのエラーです。 別に、UserForm名を2byte文字を使ってはいけないことはないのですが、あるレベル以上の人というか、いくつかの言語を扱っている人は、使わないのは当たり前のことですし、いくつかのコーディング・ルールを守りますが、それをしなければならないことではありません。ただし、VBAでは、使ってはいけない漢字があるそうです。 今の段階で、回答者側から、コードも何もみないで、「パス名が無効」というエラーだけで、どこが問題というようなことは、言えるはずもありませんが、もし、ご自分で探すなら、まず、Private Sub UserForm_Initialize() の所で、ブレークポイントを設けて、その後は、ステップモードします。つまり、UserForm を起動する時に、一旦、その内部全体が、再コンパイルされますから、UserForm内のエラーが出た後では、ステップモードで見ることは出来ませんから、UserForm に入る前に止めなくてはなりません。

saab8743
質問者

お礼

ありがとうございます。 UserForm名を変更したらなりおました。

  • layy
  • ベストアンサー率23% (292/1222)
回答No.2

>パス名が無効 普通に考えて何かCSVファイルとか外部ファイルのパスを指しています。 仮にフォーム名が漢字だとしてもそれをパスが無効とは言わないと思いますが・・。 パスが無効、というのだから、パスは何を指している?、 ここからどこがおかしいかを手繰り寄せる。 原因があいまいなうちにあれやこれや修正してみるのは、 傷が広がる可能性あり危険です。 前回答あるように、1行ずつ実行、メッセージボックス追加、など デバッグを覚えるのが今後のためにも効果大です。 エラーが起きる原因やエラー箇所の見つけ方を把握してから作る方が対処楽です。 とりあえず、 「OPEN」「CLOSE」「path」こういうファイルに関係するキーワードで検索すると パスが関係している行の可能性が高いです。 それをどう直したらいいかは次のステップです。

saab8743
質問者

補足

早々にありがとうございます。 コマンドボタンを押したところでユーザーフォーム名(漢字)でエラーです。 F8でデバッグしてもそこでとまります。 あわせてよろしくお願いします。

  • end-u
  • ベストアンサー率79% (496/625)
回答No.1

エラー発生時、[デバッグ]ボタンクリックし、[F8]キーで1ステップずつ実行してみてください。 Formモジュール内のエラー発生行まで進みませんか?

saab8743
質問者

補足

ありがとうございます コマンドボタンを押したときに起こりました。 他にもコマンドボタンは2~3つかっていますがその時点ではすべてが同じエラー表示になります。 コマンドボタンを押さない限りF8デバッグで追っていてのエラーにはなりません。 よろしくお願いします。