【最大10000ポイント】当たる!!質問投稿キャンペーン!

こんばんは!
エクセルマクロ初心者です。
エクセルVBAについて教えてください!
パス(?)を指定して、ファイルを開けてから実行する
マクロを書きたいのですが、エラーになってしまいます。
Dim Filename as string
(1)Workbooks.Open Filename:= "\D\MyDocument\●●.xls"
(●●はファイル名)
(2)Workbooks("●●").Activate

(1)の部分は実行されて目的のファイルは開くのですが(2)でエラーになってしまいます。
どなたか教えてください!
以前までは、このマクロ実行できていたのですが、突然できなくなりました。

困ってます。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

> で表現したのですが、実際は会社のファイル用のサーバー上にあります。


> サーバーの設定とかも関係あるのでしょうか?

意味が掴めないのですが、、、
拡張子の問題は実行するPCの設定によって起こると思います。

拡張子を非表示にしたPCで Workbooks("Book1").Activate はOK
拡張子を非表示にしたPCで Workbooks("Book1.xls").Activate もOK
拡張子を表示にしたPCで Workbooks("Book1").Activate はNG
拡張子を表示にしたPCで Workbooks("Book1.xls").Activate はOK

なお、Workbook型の変数にセットしてから操作するとその後の操作が楽になります。

Sub Test()
Dim wb As Workbook
 Set wb = Workbooks.Open("フルパス")
 MsgBox "ブック名は " & wb.Name
 MsgBox "フルパスは " & wb.FullName
 MsgBox "最初のシート名は " & wb.Worksheets(1).Name
 MsgBox "シートの数は " & wb.Worksheets.Count
 MsgBox "閉じます"
 wb.Close
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます。
変数の宣言型にWorkbookというものがあるなんて知りませんでした。
勉強になりました!

今後も使いたいマクロなので、これを機にキチンと書き直します!

お礼日時:2005/03/28 23:58

Workbooks("●●").Activate


 ↓
Workbooks("●●.xls").Activate

にしては?

拡張子を付けた場合、拡張子の表示・非表示のどちらになっていてもOKですが、拡張子無しで指定した場合は、エクスプローラの設定によってエラーになったような。。。
    • good
    • 0
この回答へのお礼

お答えありがとうございます!
私のPCのエクスプローラの設定は確か拡張子表示になってます。
(1)は例えで
"\\D\Mydocuments\●●.xls"
で表現したのですが、実際は会社のファイル用のサーバー上にあります。
サーバーの設定とかも関係あるのでしょうか?
重ねての質問で申し訳ありません!

お礼日時:2005/03/28 22:54

Workbooks("●●.xls").Activate


だと思いますが?
ファイルの拡張子まで指定してください。
    • good
    • 0
この回答へのお礼

さっそくのお答えありがとうございます!
今、エクセルの入ったパソコンではないので明日会社でやってみます!
その後のオブジェクト全部
Workbooks("●●").
で書いてしまいました。
全部修正し直しですよね?
今まで実行されてたのは何故でしょう?
重ねての質問でごめんなさい!
でも、お答えいただけたら嬉しいです。

お礼日時:2005/03/28 22:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング