だから... ...私は参考のために、コードのこの部分を使用:Excelブックが開いていることを確認しますか?
Option Explicit
Sub Sample()
Dim Ret
Ret = IsWorkBookOpen("C:\myWork.xlsx")
If Ret = True Then
MsgBox "File is open"
Else
MsgBox "File is Closed"
End If
End Sub
Function IsWorkBookOpen(FileName As String)
Dim ff As Long, ErrNo As Long
On Error Resume Next
ff = FreeFile()
Open FileName For Input Lock Read As #ff
Close ff
ErrNo = Err
On Error GoTo 0
Select Case ErrNo
Case 0: IsWorkBookOpen = False
Case 70: IsWorkBookOpen = True
Case Else: Error ErrNo
End Select
End Function
私は私のワークブックおよびすべてのものを使用しますが、それはライン15上の構文エラーを返します:FF = FreeFile_()。
これはなぜですか?どのような構文エラーがありますか? 他のユーザーによってブックが開かれているかどうかを確認しようとしています。そのような場合は、ワークブックの値を保存できません。答えを
おかげで、D.
あなたのコメントでは 'ff = FreeFile _()'と書くのですが、あなたのコード 'ff = FreeFile()'に書いてください。アンダースコアのない初期コードは正常に動作します。 –
はい私は知っている...私のコードで私はff = FreeFile()を書きましたが、エラーが発生したときにそれにアンダースコアがあります。 –
カッコなしで 'ff = FreeFile'を試してください。私はExcel 2016を持っています。 –