
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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) VBAでファイルを開くプログラムがエラーです 2 2023/02/21 16:56
- Excel(エクセル) 【VBAファイル移動】2つのマクロを順に実行。1つ目のマクロが実行不可⇒2つ目が実行不可となる件 2 2022/07/29 12:17
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Excel(エクセル) EXCELのグラフを画像(JPG形式)で保存、通常実行がうまく行かない。ステップインはうまく行く 3 2022/08/30 12:06
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトで出来ること
-
DCPの解凍方法?
-
シンボリックリンクが作れませ...
-
コマンドプロンプトからファイ...
-
windowsが立ち上がりません。コ...
-
コマンドプロンプトからGUI...
-
コマンドプロンプトに詳しい方!
-
コマンドプロンプトのdisk part...
-
PowershellでNASの共有フォルダ...
-
バッチファイル中の、Xcop...
-
CommonDialog でエラー
-
コマンドプロンプトからの脱出方法
-
バッチファイルでテトリス
-
LVM論理ボリュームのフォー...
-
コマンドプロンプトからftp...
-
digコマンド
-
フォルダ内のファイル名表示し...
-
フォルダの中に1個しかファイ...
-
ひとつのファイルを一括で複数...
-
エクセルでの計算式もしくはシ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトからファイ...
-
windowsが立ち上がりません。コ...
-
コマンドプロンプトに詳しい方!
-
コマンドプロンプトで出来ること
-
全画面表示のバッチファイル
-
シンボリックリンクが作れませ...
-
メールが突然受信できなくなり...
-
PowershellでNASの共有フォルダ...
-
treeコマンドでソートできませ...
-
コマンドプロンプトで『.lnk』...
-
DOSバッチで文字数カウント
-
日付と現在時刻をバッチファイ...
-
AS400からPCファイルを実行したい
-
テキストファイルの特定行、特...
-
コマンドプロンプトで完全削除
-
Windowsのコマンドプロンプト教...
-
環境変数の変更(ユーザごとの)
-
コマンドプロンプトからGUI...
-
dirコマンドの場所について
-
コマンドでmsconfigが開かない場合
おすすめ情報