closures其他用户在不同计算机(同一networking)上打开的Adobe Acrobat文件
我一直在研究一个自动化工作报告的stream程。 我想要处理的最后一点是理解是否可以closures另一个用户在另一台计算机上打开的pdf文件(虽然在同一个networking上)。 我已经使用教程,并写了下面的macros和函数来成功地testing文件是否打开,但是,现在我想知道是否有可能从不同的远程位置实际closures文件。
有没有人有任何build议如何做到这一点,或者如果可能的话。 我已经看到类似的项目密切的Excel文件,但不是PDF文件。
'function to determine if file is open Function IsFileOpen(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 depending on if file is open or not Select Case ErrNo Case 0: IsFileOpen = False Case 70: IsFileOpen = True Case Else: Error ErrNo End Select End Function 'method to close DOR in pdf form if it is already open Sub closeAcrobat() Dim sStatus sStatus = IsFileOpen("M:\Daily_Outage_Report\Active\Operations_Daily_Outage_Report_" _ & Format(Date, "yyyy-mm-dd") & ".pdf") If sStatus = True Then MsgBox "file is open" Else MsgBox "file is not open" End If End Sub
是的,如果你拥有Admin Rights (Phew!)
那么这是可能的。
手动testing它
- 点击Windows开始| 运行| CMD.EXE
- 在命令提示符下键入
OpenFiles
,然后按Enter键 - 您将看到打开的文件/文件夹列表。 它们将被列为
ID
,Accessed By
,Type
,Open File (Path\executable)
- 要断开连接,可以使用文件ID,用户名或文件名,如
OpenFiles /Disconnect /ID 123
现在,所有这些都可以从VBA完成,如果您知道如何从VBA发出DOS命令。