1

マクロの実行中に不明なExcelファイルを開いたことを確認できるコード(VBA)を作成する方法はありますか?

私の目的は、不明なExcelブックから実行中のマクロの値にいくつかの値をコピーすることですが、それが可能かどうかはわかりません。

コードのアイデアは次のようになります。

Sub test()
    MSG1 = MsgBox("Do you want to copy the values?", vbYesNo, "OPEN")

    If MSG1 = vbYes Then

    MsgBox "Open the file you want to copy"

    'Here is when the user has to open the file and the VBA
    'acknowledge that and keep running the macro but only if the file is open

    ThisWorkbook.Range("A1:B10").Value = _
    Workbooks(Workbooks.Count).Range("A1:B10").Value

    End If
End Sub

何かご意見は。

4

1 に答える 1

3

もっと良い提案があります。を使用しApplication.GetOpenFilenameて、ユーザーにファイルを選択させ、そのファイルを開きます。これにより、コードはどのファイルが開かれているかを知ることができます。例えば

Sub test()
    Dim Ret, msg
    Dim wb1 As Workbook, wb2 As Workbook

    msg = MsgBox("Do you want to copy the values?", vbYesNo, "OPEN")

    If msg = vbYes Then
        Set wb1 = ThisWorkbook

        Ret = Application.GetOpenFilename("Excel Files (*.xls*), *.xls*")

        If Ret <> False Then
            Set wb2 = Workbooks.Open(Ret)
            wb1.Sheets("Sheet1").Range("A1:B10").Value = _
            wb2.Sheets("Sheet1").Range("A1:B10").Value
        End If
    End If
End Sub
于 2012-11-22T13:42:32.373 に答える