Makro Fehlermeldung Warum ???

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Makro Fehlermeldung Warum ???

Re: Makro Fehlermeldung Warum ???

von Hansi » Mi, 01.06.2011 14:40

Hi,

jo,das war die Ursache.Danke

Re: Makro Fehlermeldung Warum ???

von DPunch » Mo, 30.05.2011 17:16

Aloha
Hansi hat geschrieben:Punkt3.Kann es sein das es mit er markierten Stelle (??????) zusammenhängt,weil dort doch das Dokument geschlossen wird.
Davon würde ich stark ausgehen, die mehrmalige Verwendung von thisComponent mit zwischendurch geöffneter und dann wieder geschlossener Datei scheint mir eine mögliche und aus Erfahrungswerten auch logische Erklärung.
Stell mal die Zeile

Code: Alles auswählen

document1   = ThisComponent.CurrentController.Frame
ganz an den Anfang des Codes und lösch die Zeile, in der Du die Fehlermeldung markiert hast, aus dem Code raus.

Re: Makro Fehlermeldung Warum ???

von Hansi » Mo, 30.05.2011 08:22

Hallo komma4,

danke erst mal für den Code,mal schauen was man daraus machen kann. Zu dem Fehler.

Punkt1. Er ist nicht an der Stelle wo ich diesen bei dem ersten Code eingezeichnet habe,(sorry mein Fehler).Unten im Code ist es jetzt richtig eingezeichent.

Punkt2. Wenn ich zwei Makro´s daraus mache funktioniert es

Punkt3.Kann es sein das es mit er markierten Stelle (??????) zusammenhängt,weil dort doch das Dokument geschlossen wird.

Punkt4.Versteckte Steuerzeichen sind nicht drin

Gruß Hansi

Code: Alles auswählen

Sub OeffnenEinfuegen
dim dummy()
    odoc = thiscomponent
       myString= "Öffnen"     
       mystring1 = (mystring+"_"+Datumsortiert)   
       beep
       Dateiname = InputBox ("Geben Sie bitte den Dateinamen ein:",mystring,"")
       iF Dateiname = "" then EXit SUB     
          Speicherort = InputBox ("Geben Sie bitte ein Verzeichnis ein:", mystring, "file:///C:/Dokumente und Einstellungen/Rene/Eigene Dateien/Winddaten/")
       iF Speicherort = "" then EXit SUB
       myUrl = Speicherort + Dateiname +".ods"
       oUCB = createUnoService("com.sun.star.ucb.SimpleFileAccess")
       If oUCB.exists(myURL) then
          oDoc = StarDesktop.loadComponentFromURL(myURL,"_blank",0,array())
       ELSe
          MSgbox ("Die Datei """& convertFromURL(myURL) &""" existiert nicht !",16,"Fehler !!!")
          exit sub
       endif
ocalc=thiscomponent
mysheet=ocalc.sheets(0)     
mysheet.name="Daten1"

document   = ThisComponent.CurrentController.Frame                         
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args2(2) as new com.sun.star.beans.PropertyValue
args2(0).Name = "DocName"
args2(0).Value = "Berechnungsvorlage"
args2(1).Name = "Index"
args2(1).Value = 32767
args2(2).Name = "Copy"
args2(2).Value = true                                        <-------------- ???????
dispatcher.executeDispatch(document, ".uno:Move", "", 0, args2())
odoc.close(true)
                                                                       <------ END SUb / SUB weiter
rem ----------------------------------------------------------------------
rem define variables
dim document1   as object
dim dispatcher1 as object
rem ----------------------------------------------------------------------
rem get access to the document
document1   = ThisComponent.CurrentController.Frame                         <------------- FEHLER
dispatcher1 = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------

dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Nr"
args1(0).Value = 18

dispatcher1.executeDispatch(document1, ".uno:JumpToTable", "", 0, args1())

rem ----------------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ToPoint"
args2(0).Value = "$a$1:$BJ$3537"

dispatcher1.executeDispatch(document1, ".uno:GoToCell", "", 0, args3())

rem ----------------------------------------------------------------------
dispatcher1.executeDispatch(document1, ".uno:Copy", "", 0, Array())

rem ----------------------------------------------------------------------
dim args4(0) as new com.sun.star.beans.PropertyValue
args4(0).Name = "Nr"
args4(0).Value = 2

dispatcher1.executeDispatch(document1, ".uno:JumpToTable", "", 0, args4())

rem ----------------------------------------------------------------------
dim args5(0) as new com.sun.star.beans.PropertyValue
args5(0).Name = "ToPoint"
args5(0).Value = "$a$1:$BJ$3537"

dispatcher1.executeDispatch(document1, ".uno:GoToCell", "", 0, args5())

rem ----------------------------------------------------------------------
dispatcher1.executeDispatch(document1, ".uno:Paste", "", 0, Array())


end sub

Re: Makro Fehlermeldung Warum ???

von komma4 » Sa, 28.05.2011 11:33

An der Stelle gibt es keinen erkennbaren Fehler...: hast Du nicht sichtbare Steuerzeichen in der Zeile?


Für die Dateiauswahl stelle ich Dir hier mal ein Code-Schnipsel aus meiner Mottenkiste vor, welches die Prüfung (vorhanden) erleichtern sollte:

Code: Alles auswählen

Sub OeffnenEinfuegen 
' de48625 2011-05-28

' Create a FilePicker dialog.
oFileDialog = CreateUnoService( "com.sun.star.ui.dialogs.FilePicker" )
' object for file services
oUcb = createUnoService("com.sun.star.ucb.SimpleFileAccess")

' set titel
oFileDialog.setTitle( "Öffnen zum Einfügen" )

' set up filter 
oFileDialog.appendFilter( "OpenDocument Kalkulation (*.ods)", "*.ods")

' pre-set your source path HERE
InitPath = ConvertToURL( "file:///C:/Dokumente und Einstellungen/Rene/Eigene Dateien/Winddaten/" ) 

' pre-set source path
If oUcb.Exists( InitPath ) Then
	oFileDialog.SetDisplayDirectory( InitPath )
End If

' get ID of button pushed
iAccept = oFileDialog.Execute()

If iAccept = 1 Then
   mDatei = oFileDialog.getFiles()
   oDoc = StarDesktop.loadComponentFromURL( mDatei(0),"_blank",0,array() )

Bei iAccept = 1 wurde die "Öffnen" - Schaltfläche ausgelöst.


Viel Erfolg bei der Fehlersuche!

Makro Fehlermeldung Warum ???

von Hansi » Sa, 28.05.2011 10:42

Hallo ,

ich habe untenstehendes Makro,welches schon sehr gut funktioniert,nur an der Stelle die mit "Fehler" markiert ist bringt der mir den Fehler " BASIC-Laufzeitfehler.Eigenschaft oder Methode nicht gefunden:CurrentController"

Wo liegt hier der Hund begraben ?????



Code: Alles auswählen

Sub OeffnenEinfuegen 
 dim dummy()
    odoc = thiscomponent
       myString= "Öffnen"      
       mystring1 = (mystring+"_"+Datumsortiert)    
       beep
       Dateiname = InputBox ("Geben Sie bitte den Dateinamen ein:",mystring,"")
       iF Dateiname = "" then EXit SUB     
          Speicherort = InputBox ("Geben Sie bitte ein Verzeichnis ein:", mystring, "file:///C:/Dokumente und Einstellungen/Rene/Eigene Dateien/Winddaten/")
       iF Speicherort = "" then EXit SUB
       myUrl = Speicherort + Dateiname +".ods"
       oUCB = createUnoService("com.sun.star.ucb.SimpleFileAccess")
       If oUCB.exists(myURL) then
          oDoc = StarDesktop.loadComponentFromURL(myURL,"_blank",0,array())
       ELSe
          MSgbox ("Die Datei """& convertFromURL(myURL) &""" existiert nicht !",16,"Fehler !!!")
          exit sub
       endif
ocalc=thiscomponent
mysheet=ocalc.sheets(0)     
mysheet.name="Daten1"

document   = ThisComponent.CurrentController.Frame                          <------------- FEHLER
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args2(2) as new com.sun.star.beans.PropertyValue
args2(0).Name = "DocName"
args2(0).Value = "Berechnungsvorlage"
args2(1).Name = "Index"
args2(1).Value = 32767
args2(2).Name = "Copy"
args2(2).Value = true
dispatcher.executeDispatch(document, ".uno:Move", "", 0, args2())
odoc.close(true)

rem ----------------------------------------------------------------------
rem define variables
dim document1   as object
dim dispatcher1 as object
rem ----------------------------------------------------------------------
rem get access to the document
document1   = ThisComponent.CurrentController.Frame
dispatcher1 = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------

dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Nr"
args1(0).Value = 18

dispatcher1.executeDispatch(document1, ".uno:JumpToTable", "", 0, args1())

rem ----------------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ToPoint"
args2(0).Value = "$a$1:$BJ$3537"

dispatcher1.executeDispatch(document1, ".uno:GoToCell", "", 0, args3())

rem ----------------------------------------------------------------------
dispatcher1.executeDispatch(document1, ".uno:Copy", "", 0, Array())

rem ----------------------------------------------------------------------
dim args4(0) as new com.sun.star.beans.PropertyValue
args4(0).Name = "Nr"
args4(0).Value = 2

dispatcher1.executeDispatch(document1, ".uno:JumpToTable", "", 0, args4())

rem ----------------------------------------------------------------------
dim args5(0) as new com.sun.star.beans.PropertyValue
args5(0).Name = "ToPoint"
args5(0).Value = "$a$1:$BJ$3537"

dispatcher1.executeDispatch(document1, ".uno:GoToCell", "", 0, args5())

rem ----------------------------------------------------------------------
dispatcher1.executeDispatch(document1, ".uno:Paste", "", 0, Array())


end sub

Nach oben