Autor
|
Thema: Daten in Excel schreiben (2114 mal gelesen)
|
ChrisMaaa Mitglied Student
Beiträge: 4 Registriert: 19.09.2011 Windows 7 Catia V5 R19 SP4 Excell 2007
|
erstellt am: 19. Sep. 2011 13:09 <-- editieren / zitieren --> Unities abgeben:
Servus alle zusammen, Hab ein paar Fragen. Ich möchte aus einer User selection die Ergebnisse an Excel übergeben. Problem ist der Übergang zu Excel. Aber hier erstmal der Code: Code: '**********************************Definition globale Variablen********************************** Public ErrorCode As Integer Public objXL As Object Public aktiWS Public AllWSSub CATMain() Hier stehen ein paar Schleifen und User selections. Ich will die Ergebnisse der User Selection dann an Excel übergeben. '**********************************Excel Objekt erzeugen********************************** Set objXL = GetObject(, "Excel.Application") On Error GoTo 0 If objXL Is Nothing Then Set objXL = CreateObject("Excel.Application") If objXL Is Nothing Then Box = MsgBox("Es konnte kein Excel Objekt erzeugt werden" + Chr(10) + "Starten Sie Excel manuell und anschliessend das Makro erneut", vbCritical + vbOKOnly, "Excel Obejkt kann nicht gefunden werden") Exit Sub End If End If objXL.Visible = True
'**********************************Excel-File oeffnen********************************** ExFile = objXL.GetOpenFilename(Title:="Bitte wählen Sie die entsprechende Excdelldatei aus.") If ExFile = False Then Box = MsgBox("Das Makro wurde abgebrochen." + Chr(10) + "Das Makro kann nicht weiter ausgefuehrt werden und wird beendet", vbCritical + vbOKOnly, "Abbruch durch Anwender") Exit Sub End If Set MasterFile = objXL.Workbooks.Open(ExFile) Set AllWS = MasterFile.Worksheets Set aktiWS = AllWS.Item(1) aktiWS.Activate aktiWS.Cells(2, 2) = 1 aktiWS.Cells(2, 5) = "Haus" End Sub
Meine Fragen: 1.Es hat bis vor ner Stunde funktioniert, dass ich 1 und Haus in Excel habe. Jetzt meckert Catia an der Zeile "Set objXL = GetObject(, "Excel.Application")". Und ich verstehe nicht warum. 2. Wie gehe ich damit um, dass der Nutzer vielleichet die Tabelle schon geöffnet hat. Bisher ist es so, dass ich als Nutzer gefragt werden, ob ich Excel schließen will. Dann sind aber alle Daten verloren. Vielen Danke schonmal! ------------------ Ehemals Chrisma, leider Accountdaten nicht mehr abrufbar. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
K.Siebert Mitglied Tech Zeichner
Beiträge: 415 Registriert: 19.05.2007 Win XP Catia V5 R19 Catia V5 R24
|
erstellt am: 19. Sep. 2011 16:02 <-- editieren / zitieren --> Unities abgeben: Nur für ChrisMaaa
Hallo ChrisMaaa hier mal eben aus meinem Code rauskopiert ... Code ... Code: Dim objXL As Object Set objXL = GetObject(, "Excel.Application") objXL.Visible = True Set oAWBook = objxl.Workbooks '.Add sInputFile = objXL.Cells(2,2).Value msgbox sInputFile
... Code ... hier wird die Tabelle noch mal Angesprochen wenn du das '.Add wieder hinzunimmst wird eine neue erzeugt
------------------ Sei Schlau bleib Dumm !!?!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChrisMaaa Mitglied Student
Beiträge: 4 Registriert: 19.09.2011 Windows 7 Catia V5 R19 SP4 Excell 2007
|
erstellt am: 21. Sep. 2011 11:21 <-- editieren / zitieren --> Unities abgeben:
Danke dir. Leider immer noch das gleiche Problem. Er erkennt den Befehl irgendwie nicht. Die Fehlermeldung: " Run-time error '429': ActiveX component can't create object" Irgendwas klapt mit dem Getobject nicht. Hab leider bisher keine Ahnung an was es liegt. Muss ich noch irgendwas vorher dimensionieren oder bereit stellen, dass ich die Funktion GetObject aufrufen kann? ChrisMa
------------------ Ehemals Chrisma, leider Accountdaten nicht mehr abrufbar. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
meisterlumpi Mitglied
Beiträge: 118 Registriert: 15.04.2011 Intel Core2 Quad Q6600 2.40 GHz | 4 GB RAM | Win7x64
|
erstellt am: 21. Sep. 2011 14:26 <-- editieren / zitieren --> Unities abgeben: Nur für ChrisMaaa
der code sieht richtig aus, ich denke das problem liegt am office com interface. guck mal im vba editor unter extras -> verweise. da sollte was mit "Microsoft Excel Object Library" angekreuzt sein und es sollte kein missing dabei stehen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChrisMaaa Mitglied Student
Beiträge: 4 Registriert: 19.09.2011 Windows 7 Catia V5 R19 SP4 Excell 2007
|
erstellt am: 21. Sep. 2011 16:13 <-- editieren / zitieren --> Unities abgeben:
Hmm, ne das ist es leider auch nicht. Hab Die Excel 12.0 Object Library, ActiveX Data Objects 6.0 und die ActiveX Data Objects(Mulit-dimensional) 6.0 mal aktiviert. Muss ich meinen Editor neu starten? Wenn ja, hat auch nichts gebracht Mich wundert nur, dass es mal funktioniert hat. Hatte, wie gesagt, einmal zum Test irgendwelche Daten in Excel geschrieben. ChrisMa EDIT: Ich hab in der Hilfe noch folgenden Satz zum Fehler gefunden: "You are trying to use the GetObject function to retrieve a reference to class created with Visual Basic. GetObject can't be used to obtain a reference to a class created with Visual Basic. " Versteh ich nicht, ist das vielleicht interessant für mich? ------------------ Ehemals Chrisma, leider Accountdaten nicht mehr abrufbar. [Diese Nachricht wurde von ChrisMaaa am 21. Sep. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChrisMaaa Mitglied Student
Beiträge: 4 Registriert: 19.09.2011 Windows 7 Catia V5 R19 SP4 Excell 2007
|
erstellt am: 21. Sep. 2011 17:57 <-- editieren / zitieren --> Unities abgeben:
Jetzt gehts wieder. Danke der Hilfe. Hab zum Spaß mal nur CreateObjekt laufen lassen. Ging einwandfrei. Jetzt geht auch wieder GetObject. So is das... Kann leider nicht sagen an was es lag... ------------------ Ehemals Chrisma, leider Accountdaten nicht mehr abrufbar. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |