Hallo,
ich lasse mit einem Perl-Script eine dBase Datei von OOCalc öffnen.
Das klappt, nur nicht ganz so, wie ich es will.
Sofort nach dem Start von OO poppt das kleine Fenster hoch ("DBaseimport"), in dem ich nach dem zu verwendenden Zeichensatz gefragt werde.
Das möchte ich gerne vermeiden.
Gibt es irgendeine Möglichkeit, diese Entscheidung beim Aufruf als Parameter mit anzugeben oder einen Standard im Programm festzulegen?
Ich wäre für Hilfe sehr dankbar.
Gruß, Hago
dBase Datei öffnen
Moderator: Moderatoren
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: dBase Datei öffnen
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: dBase Datei öffnen
Hallo,
ich hab's inzwischen raus bekommen.
Christian Winter aus der Perl-Newsgroup hat's gewusst:
Im "Standard.Module1" braucht man dann dieses Makro mit der Funktion(auch von Christian Winter):
Vielleich interessiert es ja jemanden.
Gruß, Hago
ich hab's inzwischen raus bekommen.
Christian Winter aus der Perl-Newsgroup hat's gewusst:
Code: Alles auswählen
use strict;
my $dir = ("-Pfad zu OO-Calc-");
my $file = "-Pfad zur DBF-Datei-";
my $enc = "IBMPC_850"; 'das ist der wesentliche Zeichensatz, den dBase verwendet
my @cmd = (
$dir."scalc.exe",
qq[macro:///Standard.Module1.openDBFwithEnc("$file","$enc")]
);
system( @cmd );
Code: Alles auswählen
Function MakePropertyValue( Optional cName As String, Optional uValue ) As com.sun.star.beans.PropertyValue
Dim oPropertyValue As New com.sun.star.beans.PropertyValue
If Not IsMissing( cName ) Then
oPropertyValue.Name = cName
EndIf
If Not IsMissing( uValue ) Then
oPropertyValue.Value = uValue
EndIf
MakePropertyValue() = oPropertyValue
End Function
sub openDBFwithEnc( iFile As String, inputCharset As String )
' dim document as object
dim oDoc as object
inURL = ConvertToURL( "-Pfad zur DBF-Datei-" )
oDesk = createUNOService("com.sun.star.frame.Desktop")
oDoc = oDesk.loadComponentFromURL( inURL, "_blank", 0, Array(_
MakePropertyValue("FilterOptions", inputCharset),_
MakePropertyValue("FilterName", "dBase"),_
MakePropertyValue("Hidden", False) ) )
end sub
Gruß, Hago
Re: dBase Datei öffnen
Hallo,
ich brings einfach nicht hinne !
Eine vorhandene dbf Datei aus einem Makro heraus öffnen schlägt genau so wie beschrieben fehl.
Könnten Sie bitte mal ihren vollständigen problemlösenden Modulcode zum Nachvollziehen ins Forum stellen. Ich verzweifle nämlich langsam aber sicher. Die Importmethoden aus Fachbüchern (Thomas Krumbein) funktionieren bei mir einfach nicht . Ihre Lösung würde ich gerne ausprobieren, mir fehlt allerdings die Einbindung der Funktion. Auch kann ich mit dem Begriff "Perl-Newsgroup" nichts anfangen.
Bitte helfen sie mir weiter.
Vielen Dank
Jürgen
ich brings einfach nicht hinne !

Eine vorhandene dbf Datei aus einem Makro heraus öffnen schlägt genau so wie beschrieben fehl.
Könnten Sie bitte mal ihren vollständigen problemlösenden Modulcode zum Nachvollziehen ins Forum stellen. Ich verzweifle nämlich langsam aber sicher. Die Importmethoden aus Fachbüchern (Thomas Krumbein) funktionieren bei mir einfach nicht . Ihre Lösung würde ich gerne ausprobieren, mir fehlt allerdings die Einbindung der Funktion. Auch kann ich mit dem Begriff "Perl-Newsgroup" nichts anfangen.
Bitte helfen sie mir weiter.
Vielen Dank
Jürgen