Januar 19, 2021, 06:14:55

Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!


Standardspeicherort für RTF Berichte

Begonnen von Dorian-1965, Dezember 25, 2020, 12:51:52

⏪ vorheriges - nächstes ⏩

Dorian-1965

Moin, ich erstelle regelmäßig Exporte als RTF Datei.
Klappt alles sehr gut.
Mein Problem ist der voreingestellte Speicherort. Er schlägt immer den One Drive Pfad vor.
Ich habe One Drive deinstalliert und die Ordner gelöscht. Nun ist der vorgeschlagene Pfad leer.
Wo kann ich einen neuen Pfad einstellen ohne ihn immer eingeben zu müssen?

Dorian




steffen0815

Hallo,
ich habe nix gefunden, wo man den Pfad voreinstellen könnte.

Allerdings würde ich (man) so etwas auch nicht benötigen.

Einen regelmäßigen Export würde/sollte man einfach entsprechend ausprogrammieren.
Entweder mit festen Pfad oder mit einem eigenen Dateidialog.
Gruß Steffen

Dorian-1965

Und wie sieht so ein Dialog aus?
Im Moment so:


DoCmd.OpenReport "Bericht_12", acViewPreview, "", "[ID]=[Forms]![Tabelle_1]![ID]", acNormal

Dann gehe ich auf "Word" und das Menü (siehe 1 Beitrag) erscheint.

DF6GL

Hallo,

ZitatDoCmd.OpenReport "Bericht_12", acViewPreview, "", "[ID]=[Forms]![Tabelle_1]![ID]", acNormal

Dann gehe ich auf "Word" und das Menü (siehe 1 Beitrag) erscheint.

Du exportierst nach "Word" und generierst dann mit Word die PDF-Datei??


Schau Dir in der VBA-Hilfe die Outputto-Methode an...


z. B. und wenn der Code im Formular "Tabelle_1"  (besserer und aussagekräftiger Name wäre vorteilhaft..) abläuft:

.
.
DoCmd.OpenReport "Bericht_12", acViewPreview, , "ID = " & Me!ID,  acHidden
DoCmd.OutputTo acOutputReport, , acFormatPDF, "c:\Temp\Bericht.PDF"
DoCmd.Close acReport, "Bericht_12"
.
.

steffen0815

Hallo,
zum Export  eines Berichtes kannst du DoCmd.OutputTo(ObjectType, ObjectName, OutputFormat, OutputFile, AutoStart, TemplateFile, Encoding, OutputQuality)nutzen.
Gruß Steffen

Dorian-1965

Zitat von: DF6GL am Dezember 27, 2020, 09:59:15...
Du exportierst nach "Word" und generierst dann mit Word die PDF-Datei??
...

Nein, ich erstelle den Bericht exportiere nach word und kopiere den Bericht aus Word um
ihn dann weiter zu schicken. Den gespeicherten Bericht lösche ich dann wieder.

Am Besten wäre es, wenn ich den entsprechenden Bericht einfach im Zwischenspeicher hätte
oder in einer Word / RTF Datei.

Dies hier

DoCmd.OutputTo acOutputReport, , acFormatRTF, "C:\Users\Dorian\Dokumente\Bericht.rtf"
funtioniert leider nicht.

Mit PDF geht es ...

DoCmd.OutputTo acOutputReport, , acFormatPDF, "C:\Users\Dorian\Dokumente\Bericht.pdf"
Dorian

Dorian-1965

DoCmd.OutputTo acOutputReport, , acFormatRTF, "C:\Users\Dorian\Dokumente\Bericht.rtf", true
Der Funktioniert jetzt. Nur beim 2 Versuch nicht mehr da die Datei ja bereits existiert. Ich müsste sie erst löschen dann geht es wieder. Wie kann ich das lösen?

steffen0815

Hallo,
nmK. wird die Zieldatei (ohne Fehlermeldung) automatisch überschrieben.

Was kommt denn für ein(e) Fehler(meldung)?
Gruß Steffen

DF6GL

Hallo,

versteh nicht, warum Word bemüht werden soll.



Was geht daran nicht?:

.
.
.
DoCmd.OpenReport "Bericht_12", acViewPreview, , "ID = " & Me!ID,  acHidden
DoCmd.OutputTo acOutputReport, , acFormatRTF, "C:\Users\Dorian\Dokumente\Bericht.rtf",True
DoCmd.Close acReport, "Bericht_12"
.
.

"True" öffnet Word mit der exportierten RTF-Datei.

Zeig mal den kompletten Code (C&P).

steffen0815

Hallo,
ZitatAm Besten wäre es, wenn ich den entsprechenden Bericht einfach im Zwischenspeicher hätte

Dokumentinhalte automatisch in die Zwischenablage kopieren (ohne öffnen)
Gruß Steffen

DF6GL

Hallo,


ZitatNur beim 2 Versuch nicht mehr da die Datei ja bereits existiert.


nein, nicht weil die Datei schon existiert, sondern weil Word (vermutlich) noch geöffnet ist und die Datei im Zugriff hat... Schließe also Word, bevor Du nochmal den Bericht exportierst.

Dorian-1965

Dezember 27, 2020, 15:35:26 #11 Letzte Bearbeitung: Dezember 27, 2020, 15:52:20 von Dorian-1965
Also wenn ich word und den Bericht schließe kommt beim 2 Versuch diese Fehlermeldung:



wenn ich Fehlermeldung schließe geht es wieder (Also beim 3 Versuch)
Ich bekomme also (zum Verständnis bei jedem 2 Versuch diese Fehlermeldung)

Hier der komplette Code:

Private Sub Befehl770_Click()
DoCmd.OpenReport "Bericht_12", acViewPreview, , "ID = " & Me!ID, acHidden
DoCmd.OutputTo acOutputReport, , acFormatRTF, "C:\Users\Dorian\Dokumente\Bericht.rtf", True
DoCmd.Close acReport, "Bericht_12"
End Sub

Word nutze ich um alles zu kopieren und weiter zu senden (Damit es weiter bearbeitet werden kann).
Den Access Bericht kann ich ja nicht kopieren (C&P).

DF6GL

Hallo,

ZitatAlso wenn ich word und den Bericht schließe

Wie und womit schließt Du den Bericht??
Was passiert, wenn Du auf "Debuggen" klickst?
Welche Access-Version ist im Einsatz?


Word nutze ich um alles zu kopieren und weiter zu senden (Damit es weiter bearbeitet werden kann).

Du sprichst in Rätseln... soll heißen, ich versteh die Maßnahme nicht..

Oder kopierst Du aus Word teilweisen Text und fügst ihn in eine Email-Message ein, um die Email an irgendwen zu schicken?

Was soll dann damit weiterbearbeitet werden? Was sind denn das für Daten?




Dorian-1965

Sorry, der Bericht wird ja automatisch geschlossen. Ich schließe nur Word.
Wenn ich auf debuggen klicke ist diese Zeile in gelb:

DoCmd.OutputTo acOutputReport, , acFormatRTF, "C:\Users\Dorian\Dokumente\Bericht.rtf", True
Wenn ich den Debugger schließe oder auch sofort die Fehlermeldung schließe funktioniert es wieder.
Ich nutze Access 2019
Zitat von: DF6GL am Dezember 27, 2020, 16:19:03Oder kopierst Du aus Word teilweisen Text und fügst ihn in eine Email-Message ein, um die Email an irgendwen zu schicken?

..

Ja, es sind Daten die per E Mail weiter geschickt werden und weiterverarbeitet werden.

DF6GL

Hallo,

die Fehlersituation kann ich mir jetzt nicht erklären, wenn ich davon ausgehe, dass Du den Button klickst, auf Word wartest, die Texte kopierst und in eine Mail schiebst, Word dann schließt und danach erst wieder auf den Button klickst.

Alles in Allem würde ich auf dieses Word-Gepfriemel verzichten und passend vorgefilterte Daten (Du weißt ja sicher auch WAS für Daten Du kopieren willst) gleich in eine per VBA generierte Email zu platzieren.