|
▼pooh さん:
>ウッシ さんご回答有難うございます。
>
>私のイメージとしてはブックAからダイレクトにブックBに
>記述内容を移したいと思っています。
>(説明が悪くて申し訳ありません。)
>
>mPath = ThisWorkbook.Path & "\B.xls"
>という記述を使えばサーバ上のブックでも
>指定できそうですね。
>(On Error Resume Nextの意味はわからないので調べます)
こんばんは
名前が変更出来るかどうかで開かれているかどうかを判定してますので、
Sub test()
Dim wb As Workbook
Dim mPath As String
Dim cPath As String
mPath = ThisWorkbook.Path & "\B.xls"
cPath = ThisWorkbook.Path & "\存在しない名前.xls"
If Len(Dir(cPath)) = 0 Then
MsgBox "使われている名前です。", 64
Exit Sub
End If
On Error Resume Next
Name mPath As cPath
If Err Then
MsgBox "使用中", 64
Else
On Error GoTo 0
Name cPath As mPath
Set wb = Workbooks.Open(mPath)
'ブックAにて入力した内容を「存在しない名前.xls」にコピー
'「存在しない名前.xls」を保存終了してから元の名前「B.xls」に戻す。
End If
End Sub
と変更すれば「ダイレクトにブックBに記述内容を移す」事になるのですが
> Name cPath As mPath
> Set wb = Workbooks.Open(mPath)
この二つの処理の間に偶然開かれる事も有り得ますので・・・
|
|