1

form1にテキストボックスとコマンドボタンがあります。

テキストボックスにパスを入力します

コマンドボタンをクリックすると、パスの場所からブックが開き、コピーなどのマクロコードが必要になります。

を使ってみたとき。file1.xlsxが見つからないというエラーが表示されます。plzヘルプ

Private Sub CommandButton1_Click()
Set wb1 = Workbooks.Open("file1")
End Sub

Private Sub TextBox1_Change()
Dim file1 As String
file1 = TextBox1.Value
End Sub

Private Sub UserForm_Click()
End Sub
4

1 に答える 1

4

上記のコメントの提案により、必要な場所に移動できますが、提案する場合は... ユーザーが名前を入力するためにテキストボックスを使用するのではなく、GetOpenFilename ダイアログを使用します。このようにして、パスが有効で、ファイルが実際に存在することを確認できます。また、ユーザーが使い慣れた [ファイル] -> [開く] ダイアログに似た優れた GUI を提供します。このようなもの:

Private Sub CommandButton1_Click()

    Dim vnt As Variant

    On Error GoTo ErrorHandler

    vnt = Application.GetOpenFilename("Excel Files (*.xlsx; *.xls; *.xlsm),*.xlsx;*.xls;*.xlsm", 1, "Please select the file to open")

    If vnt = False Then Exit Sub

    Application.Workbooks.Open (vnt)

ExitPoint:

    Exit Sub

ErrorHandler:

    MsgBox "Error " & Err.Number & vbCrLf & Err.Description

    Resume ExitPoint

End Sub
于 2012-12-27T20:24:20.577 に答える