• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Workbooks.openについて)

Workbooks.Openについて

bakaの回答

  • ベストアンサー
  • baka
  • ベストアンサー率83% (15/18)
回答No.1

これでよいと思います。 Workbooks.Open Filename:="c:\My Documents\data.xls" 又は Workbooks.Open "c:\My Documents\data.xls" *補足* Filename = "c:\MyDocuments\data.xls" では 式と見なされてしまいます。 名前付き引数を指定する場合は、引数名と等号の間にコロンが 入ります (引数名:= 値)。詳しくは参考URL をご覧ください。 'My Documents' フォルダも既定では My と Documents の間に 半角スペースが入っています。 なお、モジュールの先頭に Option Explicit ステートメントを 付け、変数の明示的な宣言を強制しておくと、エラーの出方が 変わります (Filename を宣言していない限り)。 Filename は定義されていない変数と見なされるので、より 確認し易くなると思います。 [ツール] - [オプション] で変数の宣言を強制しておくと よいでしょう。

参考URL:
http://www.microsoft.com/JAPAN/developer/library/VBCon98/vbconpassingargumentstoprocedures.htm
ta89
質問者

お礼

bakaさん、ご回答有難うございます。 どうやら「:」が抜けていたのが原因のようです。 ちゃんと実行できるようになりました。 助かりました。

関連するQ&A

  • VBA Workbooks.open

    ブックを開くコマンド × Workbooks("filename.xls").open ○ Workbooks.open filename:="filename.xls" 何故下なのですか?ワークブックコレクションの中から特定のブックを指定し開くなら、上の構文にした方がワークシートコレクション等と構文表現を統一出来ます。 現にブックを閉じるコマンドは Workbooks("filename.xls").close です。何故ブックを開くコマンドだけ別表現なのですか?

  • Open Filenameで変わるファイル名を開く

    スマホアプリで作成したデータをパソコンのExcelから開きたいです。 vbaで操作したいのですが、アプリでエクスポートされたファイル名は日々名前が変わります。 Open Filenameで操作したいです。 Sub Sample1は開きますが、毎日ファイル名をて入力しなければなりません。 Sub Sample1() Workbooks.Open Filename:="C:\Users\closeinlove\Dropbox\アプリ\ExcelCalendarLite\cal-excel-160906.xls" '←「yymmdd.xls(年年月月日日).xlsの数値が入っています」 End Sub Sub Sample2に日々変わるファイル名の数値の部分を*に置き換えましたが、駄目でした。実行エラー1004 Sub Sample2() Workbooks.Open Filename:="C:\Users\closeinlove\Dropbox\アプリ\ExcelCalendarLite\cal-excel*.xls" End Sub Sub Sample3に日々変わるファイル名の数値の部分を??????に置き換えましたが、駄目でした。実行エラー1004 Sub Sample3() Workbooks.Open Filename:="C:\Users\closeinlove\Dropbox\アプリ\ExcelCalendarLite\cal-excel-??????.xls" End Sub ファイル名の変わる部分の指定方法を教えて下さい。

  • マクロでファイルオープン

    エクセルのマクロでtest.xlsファイルをオープンする際に元々test.xlsファイルの属性が読み取り専用になっているものを、読み取り専用チェックをはずした状態でオープンすることは可能でしょうか? Workbooks.Open Filename:="test.xls" ReadOnlyRecommended:=False とかやってもなかなか上手くいきません。

  • EXCELをもう一つ立ち上げたい

    マクロを使用して sub 関数1 shell "C:\Program Files\Microsoft Office\Office\EXCEL.EXE", 1 end sub と記述すれば EXCELがもう一つたちあがります。 また、 sub 関数2 Workbooks.Open FileName:="C:\MyDocuments\aa.xls" end sub と記述すればMyDocments配下のaa.xls というファイルがたちあがります。 そこで、ここから本題なのですが、 aa.xlsというEXCELファイルをもう一つのEXCELに立ちげる方法を教えて頂けませんでしょうか? よろしくお願いします。

  • エクセルVBAでパスの¥マークについて

    このマクロを記述したBOOKと同じフォルダー内にある、シート001.xls を開くマクロです。 同一フォルダーにあるのですから、このような記述になると思います。 Sub kakunin1() Workbooks.Open (ThisWorkbook.Path & "\" & "シート001.xls") End Sub しかし、以下の3つはすべてシート001.xls を開くことができました。 Sub kakunin2() Workbooks.Open (ThisWorkbook.Path & "\" & "\" & "シート001.xls") End Sub Sub kakunin3() Workbooks.Open (ThisWorkbook.Path & "\" & "\" & "\" & "シート001.xls") End Sub Sub kakunin4() Workbooks.Open (ThisWorkbook.Path & "\" & "\" & "\" & "\" & "\" & "\" & "シート001.xls") End Sub パスの¥マークは階層をあらわすのだと思っていましたがいくつ重ねてもなぜ開くのでしょうか?非常に初歩的な質問だと思いますが、ご教示いただければ幸いです。

  • VBAでフォルダにあるエクセルファイルを開く

    こんにちは このコードがうまく動かないのですが、 どこがいけないのかわからなく助けてください。 なおフォルダの中には******データ.xlsと言うファイルがあり、アスタリスク部分は日付が不規則に変化して上書きされるのです。 このファイルを開くマクロを作りたいのですが。 うまく行きません。 よろしくおねがいします。 Sub excelopen() ' ' Dim エクセル As String 'エクセル = Dir(ActiveWorkbook.Path & "\*データ.XLS") If エクセル = "" Then Exit Sub エクセル = ActiveWorkbook.Path & "\" & エクセル Workbooks.Open Filename:=エクセル End Sub

  • 【Excel】「リンクを更新する」のダイアログを表示させないようにするには

    教えて下さい! AAA.xlsとBBB.xlsというファイルがあります。 AAA.xlsを開くと自動的にBBB.xlsが開くようになっています。 BBB.xlsにはグラフがあり、AAA.xlsからデータを読んでいるため「リンクを更新しますか?」というダイアログが表示されてしまいます。 これを表示させないようにするにはどういう記述をしたらよろしいでしょうか? AAA.xlsを開く際にBBB.xlsも開くように、AAA.xlsに以下のように記述してあります。 ================================================================ Sub Auto_open() Workbooks.Open Filename:=ThisWorkbook.Path & ("\BBB.xls") Workbooks("AAA.xls").Worksheets("Sheet1").Activate End Sub ================================================================ その記述に付け加える形になると思うのですが。 宜しくお願い致します。

  • 同じフォルダ内のブックを開きコピーする方法

    いろいろチャレンジしてみたのですが どうにも行き詰っております。 ご教示頂ければ幸いです。 1つのフォルダに3つ(数は固定)のシートがあります。 フォルダ名は毎回変わります。 C:\デスクトップ\作成 ├4328457 神戸 ├作成元データ(名前は固定)←Aとします。  ├1314 電源工事(名前は毎回変わります)←Bとします。 └見積.xls(名前は固定)←今回は使いません 毎回名前の変わるBを先に開き、下記の「FileOpen」マクロで Aを開きます。 Bにあるシート(数は変動)を全て、Aにあるシート(3枚固定)の前に コピーし、Bは閉じてしまい、Aにて作業をしたいと思います。 Sub FileOpen()   Dim Wb As Workbook   Dim Fname As String     Dim PathName As String    Set Wb = ActiveWorkbook   Fname = "作成元データ.xls" PathName = Wb.Path   If Right(PathName,1)="\" then   Workbooks.Open Filename:=PathName & Fname   Else     Workbooks.Open Filename:=PathName & "\" & Fname     ThisWorkbook.Active    End If End Sub 「ThisWorkbook.Active」にてBに戻しているつもりなのですが Aがアクティブのままであり、Bのシートをコピー選択できなくなってしまっています。 Sub BookOpen() Workbooks.Open Filename:=ThisWorkbook.Path & "\作成元データ.xls" End Sub こちらのように簡単な構図も試してみたのですが PESONAL.xlsbのあるフォルダ?を見に行くようでうまく「作成元データ」を開けませんでした。 お詳しい方には基本的な事かもしれませんが どうぞ宜しくお願い致します。   

  • エクセル ファイル名を指定して保存閉じる。

    Sub ブックを開く() Workbooks.Open Filename:="D:\顧客データ\" _ & Range("B1").Value & ".xls" End Sub 上記のマクロでファイルを開き作業をしています。 作業後にファイルを上書保存して閉じるには どのようなマクロになるのでしょうか。 よろしくお願いします。

  • エクセル 別のエクセルの特定のシートを開きたいのですが

    宜しくおねがいします。 現在、エクセルで 下記のようなVBAを使用しております。 Private Sub CommandButton1_Click() Workbooks.Open Filename:="テスト.xls" End Sub テストのエクセルのSheet2を開きたい場合はどうすれば よろしいのでしょうか? 教えて下さい。宜しくお願い致します。