Hallo,
mein Lotus Script Code lädt die Datei nur herunter, wenn ich sie zuvor per Internetexplorer geöffnet habe. Der selbe Code als Visual Basic unter Excel verlangt dies nicht und lädt alle Dateien ohne vorherigen Besuch der Webseite auf die Festplatte. Es muß lediglich einmal unter Visual Basic (Excel) der Zugriff auf die Homepage erfolgen, aber eben nicht für jeden weiteren Zugriff. (Ganz am Ende habe ich noch das VB im Excel geschrieben).
Frage: Wie bekomme ich es hin, dass mein Lotus Script Code die Dateien aus dem Internet lädt, ohne dass ich die einzelnen Webseiten zuvor besucht haben muss?
Hier mein Lotus Script Code:
Sub Click(Source As Button)
Print "Start: Bei Dokumenten erfolgt TextPDF-Download und Import"
On Error Goto ErrHandler
Dim ses As New NotesSession
Dim db As NotesDatabase
Dim col As NotesDocumentCollection
Dim doc As NotesDocument
Dim Url As String
Dim Url2 As String
Dim Schriftnummer As String
Dim Dateiname As String
'Dim aLog As AgentLog
'Dim VerarbeiteteDokumente As String
Dim importdatei As String
Dim object As NotesEmbeddedObject
Set ses = New NotesSession
Set db = ses.CurrentDatabase
Set col = db.UnprocessedDocuments
Set view = db.getView("pdftext-Import")
Set doc = view.GetfirstDocument
Set w = New NotesUIWorkspace
'Set aLog = New AgentLog("TextPDF Import")
'VerarbeiteteDokumtente=""
Call w.URLOpen( "
http://depatisnet.dpma.de/")
Do Until doc Is Nothing
'Download from Internet
Schriftnummer = Cstr(doc.CY_PN_KD(0))
'Beispiel Hyperlink
'
http://depatisnet.dpma.de/DepatisNet/depatisnet?action=textpdf&docid=DE03003827T1 Url2 = "
http://depatisnet.dpma.de/DepatisNet/depatisnet?action=textpdf&docid=" & Schriftnummer
'Beispiel Dateiname
'C:\textpdf\DE03003827T1_text.pdf
Dateiname = "C:\textpdf\"+Schriftnummer+"_text.pdf"
'Url = Inputbox$("URL eingeben",,Url2)
Url = Url2
' Download-Funktion hier
DownloadFile Url, Dateiname
Call DeleteUrlCacheEntry(Url)
' Get the next document
Set doc = view.getNextDocument( doc )
i% = i% + 1
all% = col.Count
Print "Bitte warten ... " + Cstr(i%) + " Dokument(e) insgesamt heruntergeladen"
Loop
Print "Ende: TextPDFs wurden importiert. Siehe Protokoll."
Exit Sub
ErrHandler:
Resume Next
End Sub
###########################################
Function DownloadFile(URL As String, LocalFilename As String) As Boolean
Dim lngRetVal As Long
lngRetVal = URLDownloadToFile(0, URL, LocalFilename, 0, 0)
If lngRetVal = 0 Then DownloadFile = True
End Function
#############################################
Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (Byval pCaller As Long, Byval szURL As String, _
Byval szFileName As String, Byval dwReserved As Long, Byval lpfnCB As Long) As Long
Declare Function DeleteUrlCacheEntry Lib "wininet" Alias "DeleteUrlCacheEntryA" (Byval lpszUrlName As String) As Long
############################################
Use "Common"
********************************************************************
*** Visual Basic Code (als Makro in Excel, ausgeführt über eine Schaltfläche)
*** In der ersten Tabellenspalte stehen die Hyperlinks (pro Zelle ein Link),
*** in der zweiten Tabellenspalte die Dateinamen.
*** Wobei auch hier das Depatisnet einmalig zuvor geöffnet werden muss.
*** URL Localfilename
http://depatisnet.dpma.de/DepatisNet/depatisnet?action=textpdf&docid=DE000000001IT C:\textpdf\DE000000001IT_text.pdf
http://depatisnet.dpma.de/DepatisNet/depatisnet?action=textpdf&docid=DE0000001A C:\textpdf\DE0000001A_text.pdf
http://depatisnet.dpma.de/DepatisNet/depatisnet?action=textpdf&docid=DE03003827T1 C:\textpdf\DE03003827T1_text.pdf
********************************************************************
Option Explicit
Private Declare Function URLDownloadToFile Lib "urlmon" Alias _
"URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal _
szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
Public Sub DownloadFiles()
Dim rng As Range
For Each rng In Range("A2:A" & Application.Max(2, Cells(Rows.Count, 1).End(xlUp).Row))
If rng <> "" Then
URLDownloadToFile 0, rng.Text, rng.Offset(0, 1).Text, 0, 0
End If
Next
End Sub