вторник, 7 мая 2019 г.

Excelдаги яна иккита функция (формула) VBA оркали: 1.PDF сахифалари сонини аниклаш. 2.Файлларни жойини кучириш (Move, Переместить)

1.PDF Файли сахифалари сонини чикариш.
Мана шу функцияни модулга жойлаштирсак формуламиз PDF файл ичидаги сахифалар сонини чикариб бериши керак.




Function PDFCount(PDFИмя As String)
'Функция определяет сколько страниц в PDF файле.
'Для этого она построчно читает файл и ищет в нем строку "/Count N". Где N - кол-во страниц.
'Если такой строки нет в файле, принимаем его размер в 1 страницу.
    PDFCount = 1
    Ищем = "/Count"
    Разделитель = Chr(10)
    Open PDFИмя For Binary Access Read Lock Read As #1
    'Читаем файл.
    Do While Not EOF(1)
        Line Input #1, fstr
        If InStr(fstr, Ищем) > 0 Then
            PDFCount = word(fstr)
            Exit Do
        End If
    Loop
    Close #1
End Function

Public Function word(S) As String
    Set RegExp = CreateObject("VBScript.RegExp")
    RegExp.Pattern = "/Count\s?(\d+)"
    If RegExp.test(S) Then
    Set oMatches = RegExp.Execute(S)
    word = oMatches(0).subMatches(0)
    End If
End Function



Ишлатишга мисол: =PDFCount("E:\Акт №2018-01.pdf")

2.Файлни жойини кучириш, исмини узгартириш (Move-Rename, Переместить, Переименовать).

Sub MoveFiles()
Dim FSO As Object
    Dim SourceFileName As String, DestinFileName As String
On Error Resume Next
    For r = 5 To 399
    SourceFileName = Cells(r, 9)
   DestinFileName = Cells(r, 13)
    

    Set FSO = CreateObject("Scripting.Filesystemobject")
   ' SourceFileName = "C:\Users\Jun.xlsx"
   ' DestinFileName = "C:\Users\Desktop\Jun.xlsx"

    FSO.MoveFile Source:=SourceFileName, Destination:=DestinFileName
Cells(r, 13) = "ok"
    'MsgBox (SourceFileName + " Moved to " + DestinFileName)
    Next r
    
    
End Sub



Комментариев нет:

Отправить комментарий

кабул килинди

Excelдаги яна иккита функция (формула) VBA оркали: 1.PDF сахифалари сонини аниклаш. 2.Файлларни жойини кучириш (Move, Переместить)

1.PDF Файли сахифалари сонини чикариш. Мана шу функцияни модулга жойлаштирсак формуламиз PDF файл ичидаги сахифалар сонини чикариб бериши...