• ベストアンサー

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

開発途中の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デバッグで追っていてのエラーにはなりません。 よろしくお願いします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ExcelVBA ユーザーフォームのオブジェクト名

    ExcelVBA ユーザーフォームのオブジェクト名について質問です。 Excel2003で、あるユーザーフォームのオブジェクト名を「ユーザーフォーム表示中」とし、 ユーザーフォーム表示中.Showで表示するように記述しました。 何度かテストを済ませ、他のプログラムも含めて完成したと思ったのですが、他のPCでエラー報告があり、コードを確認したところ、なぜか、ユーザーフォーム表示.Show(中の字が消えている)になっていました。 もちろん誰かが記述を変更することは考えられません。 以前、自分のPC内でも同じようなことがあり、いくら原因を探しても見つからず、ユーザーフォームのオブジェクト名を削除された記述に合わせて対処したことがあります。 これは何が原因なのでしょうか。 文字数制限か何かあるのでしょうか。

  • VBEユーザーフォームのテキストボックスがいっぱい

    excel2000を利用しています。 ユーザーフォームで、大量のテキストボックスを貼っているのですが(1000個近く) これのオブジェクト名をひとつひとつ変えるのが、すごく大変で、リストみたいな感じで、簡単に変更することが出来ないかな? 何かいい方法がないかなって悩んでいます。 何かいい方法等、あればアドバイスお願いいたします。

  • ExcelVBA ユーザーフォームのコードがない

    いつもお世話になっています。 Excel vbaで質問させてください。 あるExcelブック(test.xlsとします)を開くと、ユーザーフォーム(と思う)が表示されます。 (この時、Excelアプリケーションは「表示」されていてモーダルの状態です) ユーザーフォームで日付を選び、「これでOK」ボタンをクリックすると 新規ブックとして「text_0614.xls」が出来て、これが表示ブックとなります。 (元のtest.xlsは閉じられています) vbaコードの修正がしたくて、VBEから作業しようとしたところ ユーザーフォームモジュールも、標準モジュールも何も見当たりません。 Thisworkbookのイベントも何も書いてありません。 プロジェクトにパスワードがかかっているのかと思いましたが、もしそうだとしても プロジェクトウィンドウに、「フォーム」というフォルダは表示されると思いますし、 また、ダブルクリックしてもパスワードを求められることがありませんので パスワードがかかっているようには見えません。 これはExcelVBAのユーザーフォームじゃないのでしょうか?(VB?) または、もし、この「フォーム」フォルダごと、ユーザーに見せないやり方があるのでしょうか? どなたかご存知の方いらっしゃいましたらご教示ください! WinXP SP3 Excel2003 SP3 使用です。 どうぞよろしくお願いします。

  • 【VBAユーザーフォームで閉じるボタンを表示したくない】

    ユーザーフォームの右上閉じるボタン(×)を表示しない方法が見当たりません。 どなたかご存知の方、ご教授願います。 開発言語:Excel2000VBA OS:Windows2000

  • エクセルVBAのユーザーフォーム上にコマンドバーメニューの「グラフオブ

    エクセルVBAのユーザーフォーム上にコマンドバーメニューの「グラフオブジェクト」の機能をそのまま搭載したいのですが、何かよい方法はありませんでしょうか。 コントロール名が「グラフ オブジェクト(&C):」で、IDが「1622」であるとこまではわかっているのですが、どうやってユーザーフォーム上のコンボボックスで呼び出せばよいのかがわからず困っています。 趣旨としては、オリジナルのマクロや、頻繁に使用するコマンドバーメニューをユーザーフォーム上に集約したいというものです。 どうぞ宜しくお願い致します。

  • エクセル97でのユーザーフォームについて

    エクセル97でのユーザーフォームについて教えて下さい (1) まず最初にユーザフォームを作成しました。 (2) エクセルオープン時にメニューバーにボタンを追加し、そのボタンを押すと   ユーザーフォームが表示されてくるという風に考えました。 ユーザーフォームは表示されるのですが、フォームに配置されているボタン等を 押してもまったく利きません(本来はメッセージが表示される) アクティブにはなっているようなのですが... Private Sub UserForm_Activate() End Sub 上のアクティブになった時に何か処理をもりこまなければいけないのでしょうか? 初歩的な質問で申し訳ないのですが、宜しくお願い致します。

  • ユーザーフォームに画像を表示

    Excel2003のユーザーフォームに関しての質問です。 ユーザーフォームに画像を表示させるコントロールがあるのですが そのコントロールにシート内にある画像を表示させることは可能なのでしょうか。 (フォルダなどにある画像を表示させることは出来ます) もしそのような方法があるのでしたら 簡単なコードなどを教えていただけたらと思います。 よろしくお願いいたします。

  • エクセルVBA ユーザーフォームの終了について

    エクセルVBAでユーザーフォームを作成しています。 コマンドボタンにVBAマクロを割り当てしているのですが 思うように動いてくれないので質問します。 コマンドボタンをクリックしたら望む動作 1、ワークシートを選択 2、その後、ユーザーフォームを消す。 と言う動作にしたいのですが、2の ユーザーフォームを消す方法、書き方が分かりません どなたか教えていただけないでしょうか 1の動作は以下のように書いています。その後の書き方を お願いします。 Private Sub CommandButton8_Click() ブック名 = "VBA演習" シート名 = "sheet1" Workbooks(ブック名 & ".xls").Worksheets(シート名).Activate End Sub (ユーザーフォームの名前は"テストフォーム"としてます)

  • エクセル2003 ユーザーフォーム、マルチページのページ選択の記述

    いつもこちらで勉強させていただいております。 エクセルVBAでユーザーフォームを作成しました。 フォームにはマルチページが有り、ページ数は3枚あります。 で、質問なのですが、フォームを読み込んだときに ページを必ず1ページを表示するようにしたいのですが コードの書き方が判りません。 フォーム作成でページ1を選択しておけば、1ページ目が 表に来るのですが、コードで処理しておけないかなと 思いましてご質問させていただきました。 フォームオブジェクト名:UesrForm1 ページオブジェクト名:Page1 となっております

  • エクセルVBA ユーザーフォームをオブジェクトとしてセットする書き方?

    いつもご回答頂きありがとうございます。 エクセルVBAでユーザーフォームをオブジェクト変数として セットする書き方を教えていただけないでしょうか? エクセルVBAでAファイルとBファイルがあり AファイルのVBAからBファイルを開いて、データを取得し Aファイルに記入していく。と言うVBAを作成しました。 ただ、BファイルにはopenイベントでBファイルに作成された ユーザーフォームがloadされるようになっていて、 AファイルからBファイルを開けたとき、そのユーザーフォームを 消したいのですが、消す方法が分かりません。 AファイルからBファイルをopenメソッドを用いたあと、ユーザー フォームを消せばいいと思うのですが、書き方が分からず困って おります。 オブジェクトとしてセットして、そのオブジェクトをunloadすれば いいかな?とか思っているのですが、セットの仕方もわからず、、、 宜しくお願いいたします。 それぞれのファイル名を「ファイルA」、「ファイルB」、 ユーザーフォーム名を「UserFormB」としたとき、どのように 書けばよろしいでしょうか?

このQ&Aのポイント
  • 再婚して6年。仲良く2人暮らしをしている50代です。主人は、元奥さんの不倫で離婚していて、娘の親権は主人です。
  • 娘は長期休暇の時に3〜5日我が家に遊びにくる感じで関係は良好だと思いますが、来る度に、全く何もせずお客様な娘に苛立ちを感じています。
  • 出産となると、遠方故に里帰り出産する確率が高いと思うのですが、とても1ヶ月一緒に暮らすことは想像しただけで無理です。
回答を見る

専門家に質問してみよう