BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 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
Beiträge: 895
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
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
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
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
Beiträge: 895
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
Beiträge: 2409
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 10: AOO, LO Linux Mint: AOO, LO

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten