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它

  1. 点击Windows开始| 运行| CMD.EXE
  2. 在命令提示符下键入OpenFiles ,然后按Enter键
  3. 您将看到打开的文件/文件夹列表。 它们将被列为IDAccessed ByTypeOpen File (Path\executable)
  4. 要断开连接,可以使用文件ID,用户名或文件名,如OpenFiles /Disconnect /ID 123

现在,所有这些都可以从VBA完成,如果您知道如何从VBA发出DOS命令。