🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Datei aus dem Internet herunterladen und speichern

Alles zur Programmierung im LibreOffice.
Oscar B
Beiträge: 28
Registriert: Fr 15. Jan 2021, 13:49

Datei aus dem Internet herunterladen und speichern

Beitrag von Oscar B » Do 28. Jan 2021, 21:55

Guten Abend!
Wie der Titel schon sagt möchte ich gerne über ein Makro eine Datei per URL aus dem Internet herunterladen und in einem festgelegten Ordner, wenn es geht sogar mit festgelegtem Dateinamen speichern. Das ganze soll möglichst passieren, ohne dass man etwas bestätigen muss und ohne, dass sich ein anderes Fenster öffnen.
Die Datei soll einfach im Hintergrund heruntergeladen und gespeichert werden.
Vielen Dank im Voraus!!! :D
LibreOffice Version 7.1.1.2 (x64) - Windows 10 (x64)

Wanderer
* LO-Experte *
Beiträge: 909
Registriert: Di 11. Feb 2014, 20:03
Wohnort: Berlin

Re: Datei aus dem Internet herunterladen und speichern

Beitrag von Wanderer » Do 28. Jan 2021, 22:00

Du suchst cURL.

Mfg, Jörn
LO 6.0.7 (32Bit) Win8.1 Pro 32 Bit/ LO 6.3.2 Win10 64Bit / LO 6.0.7 Win7 Pro 64 Bit

craig
* LO-Experte *
Beiträge: 1137
Registriert: Do 21. Apr 2016, 11:42

Re: Datei aus dem Internet herunterladen und speichern

Beitrag von craig » Do 28. Jan 2021, 22:08

Hallo Oscar,

Heute hat Volker Lenhardt die aktuelle deutschsprachige Übersetzung bereitgestellt:
Dieses Buch ist ein unbedingtes MUSS:
https://www.uni-due.de/~abi070/ooo.html

http://document-foundation-mail-archive ... 95055.html

Siehe:
Seite 298
Listing 270. Dokument wird über HTTP geladen.

und suche nach:
StoreAsURL
Gruß

Craig

Nie die Sicherungskopie vergessen!

════════════════════════════════════════════════
WIN 10 Pro 64-Bit • LO 7.4.5.1 (x64) • AOO 4.1.8

Oscar B
Beiträge: 28
Registriert: Fr 15. Jan 2021, 13:49

Re: Datei aus dem Internet herunterladen und speichern

Beitrag von Oscar B » Do 28. Jan 2021, 22:21

Wenn ich das jetzt richtig verstanden habe, öffnet dieses Makro eine Datei aus dem Internet, die man dann später speichern lassen könnte! Gibt es auch eine Möglichkeit ein Dokument direkt zu speicher, ohne es zwischendurch zu öffnen?
LibreOffice Version 7.1.1.2 (x64) - Windows 10 (x64)

craig
* LO-Experte *
Beiträge: 1137
Registriert: Do 21. Apr 2016, 11:42

Re: Datei aus dem Internet herunterladen und speichern

Beitrag von craig » Do 28. Jan 2021, 22:31

Hallo Oscar,

ist alles im Buch mit Beispielen beschrieben.
Man muss die einzelnen Codes suchen und daraus ein Gesamtpaket schnüren.

Hier ein Beispiel, wie man eine CSV-Datei versteckt öffnen kann.

Code: Alles auswählen

sPath="C:\temp"
REM CSV-Datei öffnen
    sFileCSV = convertToUrl(sPath)
    if len(sFileCSV)>0 then
        dim mFileProps(2) as new com.sun.star.beans.PropertyValue
        mFileProps(0).Name = "FilterName" 	: mFileProps(0).Value = "Text - txt - csv (StarCalc)"
		' der erste Token (59) der Filteroptionen gibt den Datenfeld-Separator an:
		' Kommata	= 44
		' Semikola	= 59
        mFileProps(1).Name = "FilterOptions" : mFileProps(1).Value = "44,34,76,1,,0,false,true,true,false"
		' Datei im Hintergrund öffnen
        mFileProps(2).Name = "Hidden"		: mFileProps(2).Value = true
        oDocCSV = StarDesktop.loadComponentFromURL(sFileCSV, "_blank", 0, mFileProps())        
    end if
und dann könnte so etwas folgen:

Code: Alles auswählen

REM Seite 338
REM  Listing 305. Speichert ein Dokument an einem neuen Ort.

Dim args(0) As New com.sun.star.beans.PropertyValue
Dim sUrl As String
sUrl = "file:///c:/temp/test_file.odt"
args(0).Name = "Overwrite"  'Diese Eigenschaft ist in der Tabelle 115 beschrieben.
args(0).Value = False       'Ein existierendes Dokument wird nicht überschrieben.
ThisComponent.storeAsURL(sUrl, args())
Programmablauf:
  1. Dartei herunterladen
  2. versteckt öffnen
  3. dann im Standard, bzw. angegeben Ordner speichern
Gruß

Craig

Nie die Sicherungskopie vergessen!

════════════════════════════════════════════════
WIN 10 Pro 64-Bit • LO 7.4.5.1 (x64) • AOO 4.1.8

Oscar B
Beiträge: 28
Registriert: Fr 15. Jan 2021, 13:49

Re: Datei aus dem Internet herunterladen und speichern

Beitrag von Oscar B » Do 28. Jan 2021, 22:35

Erstmal vielen Dank für die Antworten!
Ich werde das Ganze morgen mal ausprobieren!
Schönen Abend :D
LibreOffice Version 7.1.1.2 (x64) - Windows 10 (x64)

craig
* LO-Experte *
Beiträge: 1137
Registriert: Do 21. Apr 2016, 11:42

Re: Datei aus dem Internet herunterladen und speichern

Beitrag von craig » Do 28. Jan 2021, 22:48

Hallo Oscar,

auch Dir einen schönen Abend. :D

Ich hätte Dir gerne ausführlicher geantwortet, bin aber
im Augenblick mit zwei anderen Projekten beschäftigt.
Gruß

Craig

Nie die Sicherungskopie vergessen!

════════════════════════════════════════════════
WIN 10 Pro 64-Bit • LO 7.4.5.1 (x64) • AOO 4.1.8

Wanderer
* LO-Experte *
Beiträge: 909
Registriert: Di 11. Feb 2014, 20:03
Wohnort: Berlin

Re: Datei aus dem Internet herunterladen und speichern

Beitrag von Wanderer » Fr 29. Jan 2021, 08:12

Oscar B hat geschrieben:
Do 28. Jan 2021, 22:21
... Gibt es auch eine Möglichkeit ein Dokument direkt zu speicher, ohne es zwischendurch zu öffnen?
Einerseits nein, weil jedes Programm dass einen solchen Download macht, die empfangenen Daten entweder insgesamt oder in Teilen zwischenspeichern muss und dann lokal speichert.

Eine Möglichkeit bleibt: Den Download an ein anderes Programm zu delegieren, dass die Datei dann natürlich öffnen, zwischenspeichern und wegschreiben muss.
(Also curl via shell() aufrufen.)

Wenn Du die Datei nicht öffnen willst stellt sich mir die Frage, warum Du das überhaupt in Office machen willst. Klingt wie mit dem LKW zum Briefkasten fahren...

Mfg, Jörn
LO 6.0.7 (32Bit) Win8.1 Pro 32 Bit/ LO 6.3.2 Win10 64Bit / LO 6.0.7 Win7 Pro 64 Bit

Oscar B
Beiträge: 28
Registriert: Fr 15. Jan 2021, 13:49

Re: Datei aus dem Internet herunterladen und speichern

Beitrag von Oscar B » Fr 29. Jan 2021, 08:47

Moin!
Wie kann ich ein Dokument anders deklarieren, als mit odoc=thisComponent?
Gibt es eine Möglicgkeit das mit dem Namen des Dokumentes zu machen?
Wenn ich nämlich den Code von oben benutzte, dann wird das Dokument, über das ich das Makro ausführe gespeichert und nicht das neu geöffnete!
Vielen Dank!
LibreOffice Version 7.1.1.2 (x64) - Windows 10 (x64)

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Datei aus dem Internet herunterladen und speichern

Beitrag von F3K Total » Fr 29. Jan 2021, 13:38

Moin,
wie wäre es mit FileCopy()

Code: Alles auswählen

Sub test
    sSource  = "https://www.pitonyak.org/OOME_4_0.odt"
    sTarget = "C:\Users\<USER>\Desktop\OOME_4_0_autodownload.odt"
    FileCopy (sSource, sTarget)
end sub
... natürlich muss der Zielpfad noch angepasst werden.
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten