Seite 1 von 1

dBase Datei öffnen

Verfasst: Mo, 03.03.2008 13:01
von Hago
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

Re: dBase Datei öffnen

Verfasst: Mo, 03.03.2008 17:35
von komma4
siehe viewtopic.php?f=18&t=16481

Das bekommst Du auch in Perl verpackt?!

Re: dBase Datei öffnen

Verfasst: Do, 06.03.2008 13:55
von Hago
Hallo,

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 );
Im "Standard.Module1" braucht man dann dieses Makro mit der Funktion(auch von Christian Winter):

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
Vielleich interessiert es ja jemanden.

Gruß, Hago

Re: dBase Datei öffnen

Verfasst: Do, 28.06.2012 18:56
von JuSe
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