检测文件夹中的PDF文件并检查其是否已打开

时间:2018-07-17 08:47:16

标签: pdf export

我需要以下代码。当我尝试在此网站中查找时,没有任何内容符合我的需求。所以请有人写一些代码。

  1. 它应该在文件夹中搜索文件,无论我键入要搜索的文件名是什么,都应从单元格中获取文件名,如果文件名已打开,则应警告我该文件已打开。该文件将为PDF格式。

  2. 如果发现重复,则文​​件不应重复,并向我显示警告“替换”或“否”。

  3. 如果不是重复的文件,而是另存为PDF,请使用我在单元格中写的任何名称,将会有2个不同的单元格。

1 个答案:

答案 0 :(得分:0)

    Option Explicit
Function FileExists(FullFileName As String) As Boolean
    FileExists = Len(Dir(FullFileName)) > 0
End Function

Sub SaveAsPDF()
    Dim nResult As Long
    Dim fName As String
    Const fPath As String = "C:\Users\KYD\Desktop\"
    With ActiveSheet

  fName = .Range("A1").Value & " " & Range("J1").Value & ".pdf"
  If Not FileExists(fPath & fName) Then

MsgBox prompt:="PDF file saved." & vbNewLine & "Location <> C:\Users\KYD\Desktop\", _
Buttons:=vbOKOnly + vbInformation, Title:="Thanks"
  .ExportAsFixedFormat Type:=xlTypePDF, filename:= _
   fPath & fName, Quality:=xlQualityStandard, _
   IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True

    Else:

nResult = MsgBox(prompt:="PDF file already exit do you want to overwrite a previous file check in below given folder." _
& vbNewLine & "Location <> C:\Users\KYD\Desktop\", Buttons:=vbYesNo + vbCritical, Title:="MME")
        If nResult = vbYes Then

    .ExportAsFixedFormat Type:=xlTypePDF, filename:= _
     fPath & fName, Quality:=xlQualityStandard, _
     IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True

            End If
            Exit Sub

        End If
    End With

End Sub

我尝试编写这些代码,这些代码可以导出pdf并从单元格获取名称,并检查文件夹中存在的文件是否要求用户替换。

我需要一些代码,这些代码也可以检查文件是否打开,并从单元格中获取名称。如果已打开,则显示消息文件已打开,否则什么也没有。