OSとExcelを再インストールしたところ、下記のところでエラーが出ました。
なぜでしょうか。解決策はあるでしょうか。
以前は、使用できておりました。
Excelのマクロは、ほとんど理解しておりません。
他人が作成したマクロになります。
OS:WindowsXp
Excel:2003
よろしくお願いします。
Private Sub CommandButton3_Click()
Dim strArg() As String
Dim i As Integer
CommonDialog1.filename = "" ←ここでエラーがでてとまります。
CommonDialog1.ShowOpen
strArg = Split(CommonDialog1.filename, "\")
ごにょごにょ演算など。
End Sub
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
#2の回答者です。
ところで、
strArg = Split(CommonDialog1.filename, "\")
で、変数に、i があるのですが、もしかしたら、ただのファイル名だけを取るものではないでしょうか?
もしそうだったら、Dir(FName)で、フォルダ名がない、ファイル名だけが取得できます。
No.2
- 回答日時:
こんばんは。
こちらでも、試しに、そのコードそのものはExcel2003で通りましたが、問題は、Excelの種類にも依存するかもしれないということです。
解決策の前に、少し、能書きを書かせていただきます。
仮に、Excel2003は、Personal Versionでも、VB6 RunTime を含んでいたとは思いますが、私の場合は、VB6自体を持っていたし、Access では、使う時はあっても、Excelでは、Developer Versionしか、コモンダイアログは使いませんでしたね。つまり、ランタイムをインストールしただけでは、ライセンスを持っていないはずなので、コモンダイアログは使えないのではないかと思いました。
それと、.filename とすべてが、小文字になっている所が気になります。何か別に使っているのではないでしょうか?ここの掲示板では、無頓着な人もいるようですが、やはり、これは、何かサインとして受け取ったほうがよいです。
それで、解決策としては、コモンダイアログを使うのをやめて、Excel VBAのネイティブ・コマンドを使ったらどうかと思います。Excelというものは、他のOffice に比較して、コマンドが多く存在しています。
'//
Private Sub CommandButton3_Click()
Dim Fname As Variant
Dim strArg As Variant '念の為に、Variant型にしました。
Const FSEP As String = "\" 'ファイルセパレータ
Fname = Application.GetOpenFilename() '←ここがポイント
If VarType(Fname) = vbBoolean Or Fname = "" Then Exit Sub
strArg = Split(Fname, FSEP)
End Sub
'//
No.1
- 回答日時:
Common Dialog Control が入っていないのでは?
http://oshiete.goo.ne.jp/qa/1185926.html
なので取りあえず、VBEのツールから参照設定をクリックし
中の「参照(B)」ボタンをクリックし
C:\Windows\System32\COMDLG32.OCX を探し出して「開く」
見つからなければ、
http://www.vector.co.jp/soft/dl/win95/util/se342 …
からランタイムをダウンロード。
vb6rt340.exe をダブルクリックすると解凍先フォルダを聞いてきますので
適宜入力。
フォルダ内の、「お読み下さい.chm」に目を通したら
setup.exe をダブルクリック。
その後、参照設定に登録。
メニューのデバッグから○△のコンパイルを実行。
何も起こらなければOK。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
それもChatGPT!?と驚いた使用方法を教えてください
仕事やプライベートでも利用が浸透してきたChatGPTですが、こんなときに使うの!!?とびっくりしたり、これは画期的な有効活用だ!とうなった事例があれば教えてください!
-
【大喜利】【投稿~1/31】『寿司』がテーマの本のタイトル
【お題】 『寿司』がテーマの本のタイトルを考えてください
-
モテ期を経験した方いらっしゃいますか?
一生に一度はモテ期があるといいますが、みなさんどうですか? いまがそう! という方も、「思い返せばこの頃だったなぁ」という方も、よかったら教えて下さい。
-
AIツールの活用方法を教えて
みなさんは普段どのような場面でAIツール(ChatGPTなど)を活用していますか?
-
【お題】斜め上を行くスキー場にありがちなこと
運営も客も一流を通り越して斜め上を行くスキー場にありがちなことを教えて下さい。
-
コモンダイアログコントロールがコンポーネントにありません
Visual Basic(VBA)
-
コモンダイアログエラー
Excel(エクセル)
-
動かなくなってしまった古いVBAを動くようにしたい
Visual Basic(VBA)
-
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・【大喜利】【投稿~1/31】『寿司』がテーマの本のタイトル
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトに詳しい方!
-
コマンドプロンプトからファイ...
-
メールが突然受信できなくなり...
-
コマンドプロンプトで『.lnk』...
-
PowershellでNASの共有フォルダ...
-
全画面表示のバッチファイル
-
ファイル名を指定して実行のリ...
-
コマンドプロンプトからftp...
-
テキストファイルの特定行、特...
-
日付と現在時刻をバッチファイ...
-
コマンドプロンプトで完全削除
-
コマンドプロンプト上で使える...
-
treeコマンドでソートできませ...
-
windowsが立ち上がりません。コ...
-
シンボリックリンクが作れませ...
-
DOSバッチで文字数カウント
-
digコマンド
-
URLへアクセスするコマンド
-
コマンドプロンプトが使えない...
-
環境変数の変更(ユーザごとの)
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトからファイ...
-
コマンドプロンプトで『.lnk』...
-
コマンドプロンプトに詳しい方!
-
windowsが立ち上がりません。コ...
-
メールが突然受信できなくなり...
-
全画面表示のバッチファイル
-
シンボリックリンクが作れませ...
-
コマンドプロンプトで出来ること
-
コマンドラインで特定フォルダ...
-
PowershellでNASの共有フォルダ...
-
treeコマンドでソートできませ...
-
コマンドプロンプトからGUI...
-
DOSバッチで文字数カウント
-
dirコマンドの場所について
-
ファイル名を指定して実行のリ...
-
テキストファイルの特定行、特...
-
pathが通らない
-
エクセル:シートの保護が解除...
-
日付と現在時刻をバッチファイ...
-
windowsの環境変数設定がうまく...
おすすめ情報