2016-11-19 5 views
0

1つのセルから値を取り込み、希望のファイル名を連結してワークシートを開こうとしていますが、オブジェクト変数またはブロック変数が設定されていません。次のコードを使用します。 ここで、 "123.xlsx"は開いているワークブックの名前です。VBAで値を変数に渡してワークシートを開く方法

Dim output_path As Workbook 
dim xlwkbrpt1 as workbook 
output_path = Application.ActiveWorkbook.ActiveSheet.Range("F14").Value 
Set xlwkbrpt1 = xlApp.Workbooks.Open(output_path & "\" & "123.xlsx") 
+1

「output_path」はなぜワークブックですか?それは文字列ではありませんか?また、最後の文を実行する直前に 'output_path&" \ "&" 123.xlsx "を出力して、' Open'メソッドが何を開こうとしているのかを見てください。 – FDavidov

+0

@FDavidovデータ型を変更しても同じエラーが表示されます –

+0

呼び出しの前に 'xlApp.Workbooks.Open'にパラメータのプリントを追加し、質問に結果を追加してください。 – FDavidov

答えて

1

変数output_pathが間違った型で宣言しました。試してみてください:

Dim output_path As String 
Dim xlwkbrpt1 As Workbook 
output_path = Application.ActiveWorkbook.ActiveSheet.Range("F14").Value 
Set xlwkbrpt1 = Workbooks.Open(output_path & "\" & "123.xls") 
+0

私はあなたのコードをdattypeの訂正しましたが、それでも同じエラーが表示されています –

関連する問題