| 
    
     |  | C:にあるフォルダ[testFD]のファイル[a.xls] をデスクトップに移動し[a.xls]を閉じるタイミングで元のフォルダ[testFD]に戻すプログラムを次の通り作成しました。どこが不具合なのか分からないのですがこのプログラムでは[a.xls]が閉じずに意図した作動になりません。ご教示のほどよろしくお願いします。 
 
 test.xls
 Module1:デスクトップの移動と戻し
 
 Option Explicit
 
 Const myHolderName = "C:\testFD\"
 Public dsktopPath As String
 
 Public Sub Pathdsktop()
 'DeskTop Pathを取得する
 Dim WSH As Variant
 Set WSH = CreateObject("Wscript.shell")
 dsktopPath = WSH.specialfolders("DeskTop") & "\"
 End Sub
 
 Public Sub MoveMyfile(myname)
 
 'フォルダtestFD"C:\testFD\")のExcelファイルを
 'DeskToに移動する
 
 Dim moveFile As String, motoFile As String, msg1 As String
 
 Pathdsktop
 moveFile = dsktopPath & myname
 motoFile = myHolderName & myname
 
 If Dir(moveFile) = "" Then '"byotoname"がデスクトップない時
 Name motoFile As moveFile
 Workbooks.Open moveFile
 MsgBox myname & " は開かれましたよ! "
 Else
 '"byotonameがデスクトップに移動済
 msg1 = myname & "は開かれていますよ!"
 MsgBox msg1
 End If
 End Sub
 
 
 Public Sub CloseMyfile(myname)
 
 'DeskToに移動に移動したのExcelファイを操作した後
 '元のフォルダtestFDに移動する
 
 Dim moveFile As String, motoFile As String, msg3 As String
 
 Pathdsktop
 moveFile = dsktopPath & myname '
 motoFile = myHolderName & myname '
 
 On Error GoTo dbg:
 
 Name moveFile As motoFile
 
 msg3 = "お疲れさまでした〜"
 MsgBox msg3
 Unload UserForm2
 
 Exit Sub
 
 dbg:
 
 msg3 = myname & "は閉じられていませんよ!"
 MsgBox msg3
 Unload UserForm2
 End Sub
 
 test.xls
 userform2
 a.xlsの開閉
 
 
 Option Explicit
 
 Private Sub CommandButton2_Click() 'Open
 Dim myname As String
 myname = "a.xls"
 MoveMyfile myname
 Unload Me
 
 ThisWorkbook.Close
 End Sub
 
 Private Sub CommandButton12_Click() 'Close
 Dim myname As String
 myname = "a.xls" '
 CloseMyfile myname
 
 ThisWorkbook.Close
 End Sub
 
 a.xls
 ThisWorkbook
 
 Option Explicit
 
 Private Sub Workbook_BeforeClose(Cancel As Boolean)
 
 Dim moveFD As String, byotoname As String
 
 moveFD = "C:\testMove\"
 Workbooks.Open moveFD & "test.xls"
 
 MsgBox "[a-Close]ボタンをクリックして下さい"
 
 ThisWorkbook.Save
 
 End Sub
 
 |  |