хорошо ... я писал немного, и поиск в Интернете для решения этого ...
решения без загрузки файла не найдено, и не думаю, возможное.
но это я сделал код, который загружает файл, получает его свойства и затем удаляет его. все полностью прозрачно для пользователя.
КАК ИСПОЛЬЗОВАТЬ: любой тип клеток = GetPDFData (URL; NumberData)
напр: = getPDFData (А2; 1)
NumbersData:
1 = Имя
2 = ДатаСтатистика
3 = Дата Дата регистрации
4 = PageCount (это "Бета", иногда не работает лол)
5 = размер
6 = вид
И код: (вставьте в новый модуль)
Public Function GetPDFData(URL As String, TipoDato As Integer) As String
Dim oFS As Object
Dim strFilename As String
CreateFolder
DownloadFile (URL)
strFilename = "C:\Temp\pdfTemporal\" & NombreDeArchivo(URL)
Set oFS = CreateObject("Scripting.FileSystemObject")
Select Case TipoDato
Case 1
GetPDFData = NombreDeArchivo(URL)
Case 2
GetPDFData = oFS.GetFile(strFilename).DateCreated
Case 3
GetPDFData = oFS.GetFile(strFilename).DateLastModified
Case 4
GetPDFData = pagecount(strFilename)
Case 5
GetPDFData = oFS.GetFile(strFilename).Size/1024 & "Kb"
Case 6
GetPDFData = oFS.GetFile(strFilename).Type
Case Else
GetPDFData = "ERROR"
End Select
Set oFS = Nothing
DeleteFolder
End Function
Sub DownloadFile(myURL As String)
Dim TextUrl As String
TextUrl = myURL
Dim WinHttpReq As Object
Set WinHttpReq = CreateObject("Microsoft.XMLHTTP")
WinHttpReq.Open "GET", myURL, False
WinHttpReq.send
myURL = WinHttpReq.responseBody
If WinHttpReq.Status = 200 Then
Set oStream = CreateObject("ADODB.Stream")
oStream.Open
oStream.Type = 1
oStream.Write WinHttpReq.responseBody
oStream.SaveToFile "c:\Temp\pdfTemporal\" & NombreDeArchivo(TextUrl), 2 ' 1 = no overwrite, 2 = overwrite
oStream.Close
End If
End Sub
Sub CreateFolder()
Dim Path As String, NombreCarpeta As String
Path = "c:\Temp\"
NombreCarpeta = "pdfTemporal"
If Dir(Path, vbDirectory) <> "" Then
If Dir(Path & NombreCarpeta, vbDirectory) = "" Then MkDir Path & NombreCarpeta
End If
End Sub
Sub DeleteFolder()
On Error Resume Next
Kill "c:\Temp\pdfTemporal\*.*"
RmDir "c:\Temp\pdfTemporal\"
On Error GoTo 0
End Sub
Public Function NombreDeArchivo(URL As String) As String
Dim a As String
Dim esp As String
esp = " "
a = URL
For i = 1 To 500
esp = esp & " "
Next i
a = Replace(a, "/", esp)
a = Right(a, 500)
a = Trim(a)
NombreDeArchivo = a
End Function
Public Function pagecount(sfilename As String) As String
Dim pages As Long
On Error GoTo a
Dim nFileNum As Integer
Dim s As String
Dim c As Integer
Dim pos, pos1 As Integer
pos = 0
pos1 = 0
c = 0
nFileNum = FreeFile
Open sfilename For Binary Lock Read Write As #nFileNum
Do Until EOF(nFileNum)
Input #1, s
c = c + 1
If c <= 10 Then
pos = InStr(s, "/N")
End If
pos1 = InStr(s, "/count")
If pos > 0 Or pos1 > 0 Then
Close #nFileNum
s = Trim(Mid(s, pos, 10))
s = Replace(s, "/N", "")
s = Replace(s, "/count", "")
s = Replace(s, " ", "")
s = Replace(s, "/", "")
For i = 65 To 125
s = Replace(s, Chr(i), "")
Next
pages = Val(Trim(s))
If pages < 0 Then
pages = 1
End If
Close #nFileNum
pagecount = pages
Exit Function
End If
If c >= 10000 Then
GoTo a
End If
Loop
Close #nFileNum
pagecount = pages
Exit Function
a:
Close #nFileNum
pages = 1
pagecount = pages
Exit Function
End Function
Я надеюсь, что вы найдете его полезным, или, по крайней мере, начало
Привет!
Если вы не можете использовать программное обеспечение на серверах, на которые указывает этот URL-адрес, и вы не хотите загружать PDF-файлы, как вы предлагаете ничего знать о файлах? Я думаю, что вы определили физическую невозможность здесь ... –
Если какое-либо программное обеспечение есть, предположите, что. Поэтому я могу попробовать. –
Если это физически невозможно, как можно предложить программное обеспечение? Более того, запрашивать рекомендации по программному обеспечению для Stackoverflow является вне границ. –