Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Userform von Excel ausführen lassen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Userform von Excel ausführen lassen (4725 mal gelesen)
HAW-Raptor
Mitglied
Design Release Engineer


Sehen Sie sich das Profil von HAW-Raptor an!   Senden Sie eine Private Message an HAW-Raptor  Schreiben Sie einen Gästebucheintrag für HAW-Raptor

Beiträge: 58
Registriert: 12.10.2009

erstellt am: 13. Okt. 2009 21:00    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,
ich habe eine Excel-Tabelle, in denen verschiedene Verbindungsteile hinterlegt sind und möchte diese nun über eine Userform sortieren/filtern und dann dem Nutzer ermöglichen, dieses eine gefilterte Teil zu übernehmen.

Zuerst meine Frage: Ich habe in Excel eine Userform erstellt, die mir über verschiedene DropDown-Listen eine Filterung ermöglichen, bis zum Ende nur noch ein einziges Element übrig ist. Kann ich diese Userform überhaupt über Catia starten? Oder muss ich über Catia eine Userform entwerfen?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

V5Playaz
Mitglied
Dipl.-Ing (BA)


Sehen Sie sich das Profil von V5Playaz an!   Senden Sie eine Private Message an V5Playaz  Schreiben Sie einen Gästebucheintrag für V5Playaz

Beiträge: 447
Registriert: 12.07.2005

DELL PRECISION 390
3,25 GB RAM
WIN XP PRO SP2
CATIA V5 R16-19
Delmia V5 R19
VB6, VB2008
Adobe Acrobat 9 Pro Extended

erstellt am: 13. Okt. 2009 22:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für HAW-Raptor 10 Unities + Antwort hilfreich

Hallo,

mir ist noch nicht so ganz klar was du machen willst.
Inwiefern willst du mit CATIA interagieren?
Ein Beispiel ist auch oft hilfreich.

Ansonsten ist es möglich eine Userform im CATIA VBA-Editor zu erstellen und auf Excel zu zugreifen oder umgekehrt.

grüße Dominik

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DanielFr.
Moderator
Manager


Sehen Sie sich das Profil von DanielFr. an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 14. Okt. 2009 09:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für HAW-Raptor 10 Unities + Antwort hilfreich


StartExcelMacro_v1.zip

 
Hallo HAW-Raptor,

nach sicher ist das möglich. Hierzu gibt es innerhalb von Excel die Methode "Application.Run". Du musst dann den absoluten Pfad der Exceldatei sowie den Namen der Sub die die aufrufen willst an die Methode übergeben. Der Pfad sowie der Sub-Name können auch variabel gestaltet werden (.z.B. über eine "FileSelectionBox"). Der Ablauf des Makro´s sieht wie folgt aus:

1. In CATIA wird die CATMain gestartet
2. Bei einem variablen Excel-Pfadnamen wird eine "FileSelectionBox" aufgerufen und der Anwender muss die Excel Tabelle im Browser auswählen (kann natürlich auch statisch sein wenn die Excel-Tabelle nicht verschoben wird) 
3. Innerhalb der CATMain wird ein Excel-Objekt erzeugt
4. Mit Hilfe dieses Objekt´s und der Methode "Application.Run" wird das Excel-Makro ausgeführt (hier kannst du ja dann deine UserForm ausrufen mit .Show)
=> CATIA ist hierbei eine Elternteil von Excel. D.h. während des Makro in Excel läuft hast du keine Kontrolle über Excel!
5. Wird das Excel Makro abgeschlossen wird CATIA wieder aktiviert
6. Die Exceldatei kann ggf. innerhalb der CATMain gespeichert und geschlossen werden. Das Excel-Objekt würde ich über den Handle zerstören da alles andere nicht funktioniert

So lange Rede kurzer Sinn. Ich hab dir da mal auf die schnelle was zusammengeschrieben. Das ganze ist ein CATvba und stellt den obigen Alauf dar.

------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

HAW-Raptor
Mitglied
Design Release Engineer


Sehen Sie sich das Profil von HAW-Raptor an!   Senden Sie eine Private Message an HAW-Raptor  Schreiben Sie einen Gästebucheintrag für HAW-Raptor

Beiträge: 58
Registriert: 12.10.2009

erstellt am: 14. Okt. 2009 09:50    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Daniel,
das ist ja eine wirklich geniale Antwort, vielen Dank für die Mühen. Gibt es eigentlich passende Lektüre, in der man nachlesen kann, gerade was Catia und Excel angeht? Habe zwar dieses eine Buch von Herrn Ziethen, wo ja leider nich so viel über Catia und Excel drin steht...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DanielFr.
Moderator
Manager


Sehen Sie sich das Profil von DanielFr. an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 14. Okt. 2009 10:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für HAW-Raptor 10 Unities + Antwort hilfreich

Hallo,

ich habe kein Buch und auch noch nie in einem zu diesem Thema gelesen. Vom dem her kann ich dir da nicht weiterhelfen 

------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

HAW-Raptor
Mitglied
Design Release Engineer


Sehen Sie sich das Profil von HAW-Raptor an!   Senden Sie eine Private Message an HAW-Raptor  Schreiben Sie einen Gästebucheintrag für HAW-Raptor

Beiträge: 58
Registriert: 12.10.2009

erstellt am: 21. Okt. 2009 23:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Eine Frage habe ich nun doch noch:

Ich schreibe nun die Userform über Catia VBA und es macht so langsam auch das was ich will, ließt Daten in eine ComboBox ein etc. Jetzt würde ich nur noch gerne wissen, wie ich das geöffnete Excelfile ohne es zu speichern (Der Nutzer soll nur auf die Datei zugreifen können, nicht speichern) schließen kann.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DanielFr.
Moderator
Manager


Sehen Sie sich das Profil von DanielFr. an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 22. Okt. 2009 08:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für HAW-Raptor 10 Unities + Antwort hilfreich


KillExcelProzessv1.0.zip

 
Hallo,

dazu musst du zuerst deine Arbeitsmappe (Workbook schließen ohne Speicherabfrage)

Code:

MyWB.Close False

dann musst du noch Excel killen. Aber hier ist Vorsicht geboten den Excel reicht es nicht wenn man einfach sagt "Set myExcel = Nothing". Wenn du dies tust wirst du feststellen das Excel zwar aus der Taskleiste verschwindet aber die EXCEL.EXE noch in deinem Taskmanager läuft. Hier muss ein gezieltes Fensterhandel ran. Das ist schon nicht mehr so einfach. Im Anhang mal ein kleines Beispiel wie man Excel ordentlich schließt (ohne irgendwelche Fragmente im Speicher zurückzulassen. Das könnte ggf. zu Problemen bei Dateiwiederherstellungen beim Absturz von Excel führen!)

Anmerkung: Das Ganze ist ein exportiertes VB Modul aus CATIA. Musst du also mit dem Microsoft Visual Basic Editor aus CATIA wieder über Datei -> importieren einlesen

------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Tstone
Mitglied
Werkzeugkonstrukteur


Sehen Sie sich das Profil von Tstone an!   Senden Sie eine Private Message an Tstone  Schreiben Sie einen Gästebucheintrag für Tstone

Beiträge: 163
Registriert: 04.06.2003

Dell Precision 470
Intel Xeon CPU 3,00GHz
2GB Ram
Microsoft Windows XP
Catia V5 R18 SP6
VB2005

erstellt am: 22. Okt. 2009 08:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für HAW-Raptor 10 Unities + Antwort hilfreich

Hallo,

myExcel.Quit

beendet Excel ohne Probleme.

------------------
Grüße TStone
   "Respektiere die Macht der Worte, wähle sie mit Bedacht!"

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

HAW-Raptor
Mitglied
Design Release Engineer


Sehen Sie sich das Profil von HAW-Raptor an!   Senden Sie eine Private Message an HAW-Raptor  Schreiben Sie einen Gästebucheintrag für HAW-Raptor

Beiträge: 58
Registriert: 12.10.2009

erstellt am: 22. Okt. 2009 08:50    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,
wie muss ich das dann umsetzen. Habe testweise einen CommandButton erstellt, aber wenn ich da eintrage

ExcelWorkbook.Close SaveChanges:=False
Set ExcelSheet = Nothing
Set ExcelWorkbook = Nothing
Excel.Application.Quit
Set Excel = Nothing

Kommt eine Fehlermeldung Expectet End Sub

Excel ist definiert als Excel.Application

[Diese Nachricht wurde von HAW-Raptor am 22. Okt. 2009 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Tstone
Mitglied
Werkzeugkonstrukteur


Sehen Sie sich das Profil von Tstone an!   Senden Sie eine Private Message an Tstone  Schreiben Sie einen Gästebucheintrag für Tstone

Beiträge: 163
Registriert: 04.06.2003

Dell Precision 470
Intel Xeon CPU 3,00GHz
2GB Ram
Microsoft Windows XP
Catia V5 R18 SP6
VB2005

erstellt am: 22. Okt. 2009 09:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für HAW-Raptor 10 Unities + Antwort hilfreich

Hi,
bitte einmal die gesamte Ereignisprozedur einstellen. Nur so kann man zu deinem Problem etwas sagen.

------------------
Grüße TStone
   "Respektiere die Macht der Worte, wähle sie mit Bedacht!"

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

HAW-Raptor
Mitglied
Design Release Engineer


Sehen Sie sich das Profil von HAW-Raptor an!   Senden Sie eine Private Message an HAW-Raptor  Schreiben Sie einen Gästebucheintrag für HAW-Raptor

Beiträge: 58
Registriert: 12.10.2009

erstellt am: 22. Okt. 2009 09:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

Private Sub CommandButton1_Click()
   
    ExcelWorkbook.Close SaveChanges:=False
    Set ExcelSheet = Nothing
    Set ExcelWorkbook = Nothing
    Excel.Application.Quit
    Set Excel = Nothing
       
End Function

Danke schon mal für die Mühen...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 22. Okt. 2009 09:50    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für HAW-Raptor 10 Unities + Antwort hilfreich

Servus
Ersetze mal "End Fuction" durch "End Sub"

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

HAW-Raptor
Mitglied
Design Release Engineer


Sehen Sie sich das Profil von HAW-Raptor an!   Senden Sie eine Private Message an HAW-Raptor  Schreiben Sie einen Gästebucheintrag für HAW-Raptor

Beiträge: 58
Registriert: 12.10.2009

erstellt am: 22. Okt. 2009 10:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Oh wie peinlich, das muss wohl ein Überbleibsel von einer alten Function sein...

Danke, funktioniert wunderbar

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DanielFr.
Moderator
Manager


Sehen Sie sich das Profil von DanielFr. an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 22. Okt. 2009 13:33    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für HAW-Raptor 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Tstone:
Hallo,

myExcel.Quit

beendet Excel ohne Probleme.


Hallo,

nein das stimmt so nicht. Dies ist nur der Fall wenn Excel innerhalb eines Excel-VBA´s beendet wird. Sobald ein Excel Objekt extern erzeugt wird kommt es auf die Binding vorm an. D.h. es ist immer sicherer Excel über den Fensterhandle zu beenden

------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

HAW-Raptor
Mitglied
Design Release Engineer


Sehen Sie sich das Profil von HAW-Raptor an!   Senden Sie eine Private Message an HAW-Raptor  Schreiben Sie einen Gästebucheintrag für HAW-Raptor

Beiträge: 58
Registriert: 12.10.2009

erstellt am: 23. Okt. 2009 11:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,
ich habe ein Problem: Kann es sein, wenn der Rechner, auf dem ich diese in Catia erstellte Userform starte, kein Excel hat, das es dann nicht funktioniert? Auf meinem Rechner zuhause kann ich das ganze ohne Probleme starten und es läuft wirklich super, aber auf dem Rechner eines Freundes funktioniert es nicht, er schreibt mir er hat Probleme mit den Referenzen zur Excel Library und "object of with block not set"??? War meine ganze Arbeit nun für die Katz???

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DanielFr.
Moderator
Manager


Sehen Sie sich das Profil von DanielFr. an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 23. Okt. 2009 11:55    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für HAW-Raptor 10 Unities + Antwort hilfreich

Hallo,

du hättest das Problem nicht wenn du mit Late Bindings gearbeitet hättest. Jetzt hast du einen Verweis auf einer Excel Library die logischerweise nur installiert ist wenn Excel auch installiert ist. D.h. du musst jetzt alle Excel-Deklarationen zu Object´s umdeklarieren und anschließend den Verweis löschen. Dann solltest du das Makro zumindestens starten können. Wenn du Grundlegende Funktionen des Scriptes über Excel machst dann ist es ja klar das das Script nicht läuft wenn auch kein Excel installiert ist 

------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

HAW-Raptor
Mitglied
Design Release Engineer


Sehen Sie sich das Profil von HAW-Raptor an!   Senden Sie eine Private Message an HAW-Raptor  Schreiben Sie einen Gästebucheintrag für HAW-Raptor

Beiträge: 58
Registriert: 12.10.2009

erstellt am: 23. Okt. 2009 12:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

So ein Mist.
D.h. solche Dinge wie Autofilter etc. die ich vorher in der Userform hatte kann ich nun getrost vergessen?
Also alles nochmal schreiben 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

HAW-Raptor
Mitglied
Design Release Engineer


Sehen Sie sich das Profil von HAW-Raptor an!   Senden Sie eine Private Message an HAW-Raptor  Schreiben Sie einen Gästebucheintrag für HAW-Raptor

Beiträge: 58
Registriert: 12.10.2009

erstellt am: 23. Okt. 2009 12:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Jetzt habe ich aber doch noch eine Frage:
Bei der Vorlage von meinem Betreuer wird auch im Hintergrund mit dem Befehl

Oeffnen = Catia.FileSelectionBox("Wählen Sie Ihre Datei aus", "*.xls", CatFileSelectionModeOpen)
Set Excel = CreateObject (Oeffnen)

doch auch eine Excelobjekt erzeugt und Excel startet im Hintergrund, sehe ich das richtig? Das ist ja das, was er mir vorher geschickt hat und ich bin das jetzt nur mal die ersten Schritte durchgegangen...

Der einzige Unterschied bei meine Programm ist, das mein Excelfile im Hintergrund solange läuft, bis man auf beenden drückt und bei meinem Betreuer wird es immer an und wieder ausgeschaltet. Das Problem müsste also eigentlich ein anderes sein, oder?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Tstone
Mitglied
Werkzeugkonstrukteur


Sehen Sie sich das Profil von Tstone an!   Senden Sie eine Private Message an Tstone  Schreiben Sie einen Gästebucheintrag für Tstone

Beiträge: 163
Registriert: 04.06.2003

Dell Precision 470
Intel Xeon CPU 3,00GHz
2GB Ram
Microsoft Windows XP
Catia V5 R18 SP6
VB2005

erstellt am: 23. Okt. 2009 13:15    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für HAW-Raptor 10 Unities + Antwort hilfreich

Hallo,
die Lösung deines Problems ist nicht in der Frage ob early oder late binding  genutzt wird zu finden. Wenn Excel nicht installiert ist kann dein Programm nicht funktionieren. Auch wenn du alle Excel- betreffende Variabeln umdeklarierst, endet dein Programm spätestens beim ersten Methodenaufruf oder bei der ersten Eigenschaftenzuweisung an Excel.
Einer der häufigsten Fehler bei der Softwareautomation ist der Zugriff auf Objekte die eigentlich schon terminiert sind, d.h. du hast Excel mit:
Excel.Quit 
Set Excel = Nothing
beendet und greifst später im Code nochmals auf die Variabel Excel zu
Excel.Visible = True
dann hast du auch wieder eine Excel-Instanz offen.

------------------
Grüße TStone
   "Respektiere die Macht der Worte, wähle sie mit Bedacht!"

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DanielFr.
Moderator
Manager


Sehen Sie sich das Profil von DanielFr. an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 23. Okt. 2009 13:24    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für HAW-Raptor 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Tstone:
Hallo,
die Lösung deines Problems ist nicht in der Frage ob early oder late binding  genutzt wird zu finden. Wenn Excel nicht installiert ist kann dein Programm nicht funktionieren. Auch wenn du alle Excel- betreffende Variabeln umdeklarierst, endet dein Programm spätestens beim ersten Methodenaufruf oder bei der ersten Eigenschaftenzuweisung an Excel.
Einer der häufigsten Fehler bei der Softwareautomation ist der Zugriff auf Objekte die eigentlich schon terminiert sind, d.h. du hast Excel mit:
Excel.Quit  
Set Excel = Nothing
beendet und greifst später im Code nochmals auf die Variabel Excel zu
Excel.Visible = True
dann hast du auch wieder eine Excel-Instanz offen.


Hallo,

nein dann bekommst du einen Fehler das das Objekt oder die Variable  nicht gesetzt ist. Außer Excel war schon vor dem Start des Makros geöffnet oder das Excel Object wurde nicht ordentlich zerstört.

Aber trotzdem verstehe ich nicht ganz was du vorhast. Du kannst nur ein Excel Objekt erzeugen wenn Excel auch installiert ist. Das ist doch logisch! Wenn Excel nicht installiert ist dann kannst du es auch nicht öffnen 

------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

HAW-Raptor
Mitglied
Design Release Engineer


Sehen Sie sich das Profil von HAW-Raptor an!   Senden Sie eine Private Message an HAW-Raptor  Schreiben Sie einen Gästebucheintrag für HAW-Raptor

Beiträge: 58
Registriert: 12.10.2009

erstellt am: 23. Okt. 2009 13:28    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,
ja das habe ich mir ja auch schon gedacht aber: Die Userform meines Betreuers, die er mit als Beispiel mitgegeben hat öffnet ja ebenso wie ich auch das Excelfile. Und die Daten, um die es geht befinden sich nun mal in einem Excelfile. Ich gehe also davon aus, das auch der Nutzer, der meine Userform nutzen möchte, denn darum geht es nun mal in diesem Projekt - aus einer Excelliste heraus Informationen saugen, um letztendlich ein Catpart einfügen zu können - auch Excel hat. Und wie gesagt, da die Userform meines Betreuers ebenso wie meine Excel startet mit dem Befehl

CreateObject (Oeffnen)

bin ich doch eigentlich auf dem richtigen Weg, oder sehe ich das jetzt komplett falsch? Es muss eben nur gewährleistet sein, dass die entsprechenden Referenzen aktiviert sind und das Excel installiert ist.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

HAW-Raptor
Mitglied
Design Release Engineer


Sehen Sie sich das Profil von HAW-Raptor an!   Senden Sie eine Private Message an HAW-Raptor  Schreiben Sie einen Gästebucheintrag für HAW-Raptor

Beiträge: 58
Registriert: 12.10.2009

erstellt am: 23. Okt. 2009 13:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,
logisch: Ja

Es ging nur darum, dass ich meinen ersten Entwurf der Userform meinem Betreuer geschickt habe. Bei mir funktioniert sie wirklich wunderbar, bei ihm kommen die oben genannten Fehlermeldungen.
Das wenn ich denn schon etwas aus einer Excelliste ziehen möchte auch dieses installiert sein muss ist mir klar, denn sonst kann ich das Excelobjekt ja nicht erzeugen 
Ich denke, es liegt daran, das wie mein Betreuer mir schon geschrieben hat, Sie Probleme haben mit der Excel Library.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DanielFr.
Moderator
Manager


Sehen Sie sich das Profil von DanielFr. an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 24. Okt. 2009 08:33    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für HAW-Raptor 10 Unities + Antwort hilfreich

Hallo,

wenn es sich um Office 2007 handelt könnte es an den PIA´s liegen. Hier mal ein Link der dieses Interop Problem beheben könnte.

Anmerkung:
Wenn du alles als Objekte deklariert hättest dann brauchst du keinen Verweis auf eine Excel Libary und hast somit auch keine Probleme mit dieser 

Primary Interop Assemblies

------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Tstone
Mitglied
Werkzeugkonstrukteur


Sehen Sie sich das Profil von Tstone an!   Senden Sie eine Private Message an Tstone  Schreiben Sie einen Gästebucheintrag für Tstone

Beiträge: 163
Registriert: 04.06.2003

Dell Precision 470
Intel Xeon CPU 3,00GHz
2GB Ram
Microsoft Windows XP
Catia V5 R18 SP6
VB2005

erstellt am: 24. Okt. 2009 19:22    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für HAW-Raptor 10 Unities + Antwort hilfreich

Hallo Daniel,
die PIA's werden nur bei DOTNET- Programmierung benötigt, mittels vba kannst du auf diese nicht sinnvoll referenzieren. Interop-Assemblies kapseln mittels eines Wrappers COM-Komponenten für den Einsatz in einer DOTNET Sprache.

------------------
Grüße TStone
   "Respektiere die Macht der Worte, wähle sie mit Bedacht!"

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

HAW-Raptor
Mitglied
Design Release Engineer


Sehen Sie sich das Profil von HAW-Raptor an!   Senden Sie eine Private Message an HAW-Raptor  Schreiben Sie einen Gästebucheintrag für HAW-Raptor

Beiträge: 58
Registriert: 12.10.2009

erstellt am: 26. Okt. 2009 06:18    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,
wenn ich aber mit Funktionen wie dem Autofilter etc. arbeiten möchte dann muss ich doch wohl oder übel mit der Library arbeiten, oder?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DanielFr.
Moderator
Manager


Sehen Sie sich das Profil von DanielFr. an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 26. Okt. 2009 07:50    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für HAW-Raptor 10 Unities + Antwort hilfreich

Hallo,

nein das musst du nicht zwingend. Wenn du dein Excel Object als "Excel.Application" bzw. dein Workbook als "Workbook" deklarierst brauchst du die Libary sonst kann VB nichts mit den Typen anfangen. Wenn du sie aber als Object deklarierst dann brauchst du keinen Verweis und VB kann trotzdem arbeiten (auch den Autofilter einsetzen). Diese Typen sind alle nur Vererbungen des Objects und können somit auch als ein solches deklariert werden

------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

HAW-Raptor
Mitglied
Design Release Engineer


Sehen Sie sich das Profil von HAW-Raptor an!   Senden Sie eine Private Message an HAW-Raptor  Schreiben Sie einen Gästebucheintrag für HAW-Raptor

Beiträge: 58
Registriert: 12.10.2009

erstellt am: 26. Okt. 2009 08:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,
aber solche Dinge wie CountIf erkennt er nicht. Da kommt die Fehlermeldung "die CountIf-Eigenschaften des WorksheetFunction-Objektes kann nicht zugeordnet werden.

Eigentlich habe ich jetzt alle Objekte allgemein, also nicht als Excel.Application oder ähnlichem deklariert...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DanielFr.
Moderator
Manager


Sehen Sie sich das Profil von DanielFr. an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 26. Okt. 2009 08:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für HAW-Raptor 10 Unities + Antwort hilfreich

Hallo,

eigentlich schon. Du hast doch schon einmal einen anderen Beitrag aufgerissen in dem ich dir auch eine Lösung angeboten habe. Lade dir die *.bas mal runter und importiere sie in den Visual Basic Editor von CATIA (File -> import). Da ist kein Verwies auf Excel drinnen und trotzdem läuft die CountIf Funktion tadellos.

Hier der Link zum anderen Beitrag
WorksheetFunction.CountIf funktioniert nicht

------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

HAW-Raptor
Mitglied
Design Release Engineer


Sehen Sie sich das Profil von HAW-Raptor an!   Senden Sie eine Private Message an HAW-Raptor  Schreiben Sie einen Gästebucheintrag für HAW-Raptor

Beiträge: 58
Registriert: 12.10.2009

erstellt am: 26. Okt. 2009 17:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,
also es funktioniert soweit ganz gut, ich kann eine Datei einlesen etc., auch solche Befehle wie iWorksheet.Select funktionieren sogar aber meine Function ComboBoxfüllen läuft nicht
Hier die Function

Code:
Function cbo_fuellen(ByRef Excel As Object, cb As MSForms.ComboBox, lngCol As Long)
  
    Dim lngZeile As Long
    Dim zahl As Double
    Dim zahl2 As String
  
    For lngZeile = untere_grenze To 310
      '  If Not Rows(lngZeile).Hidden Then
        If Excel.WorkSheetFunction.CountIf( _
        iWorksheet.Range(iWorksheet.Cells(untere_grenze, lngCol), iWorksheet.Cells(lngZeile, lngCol)), _
        iWorksheet.Cells(lngZeile, lngCol)) = 1 Then

            If Not Rows(lngZeile).Hidden Then
                zahl = iWorksheet.Cells(lngZeile, lngCol)
                'zahl2 = Replace(wks.Cells(lngZeile, lngcol), ",", ".")
                cb.AddItem zahl
          '  End If
            End If
        End If
    Next lngZeile
  
   'Dim i As Long, ar As Variant, objDic As Object
   'Set objDic = CreateObject("scripting.dictionary")
   'ar = tbl.Range(tbl.Cells(2, spalte), tbl.Cells(tbl.Rows.Count, spalte).End(xlUp))
  
End Function

Fehler: Object or With Block variable not set und markiert den Bereich, den ich mal fett hervorgehoben habe

Weiß leider nicht, wie ich da weitermachen soll...

[Diese Nachricht wurde von HAW-Raptor am 26. Okt. 2009 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Tstone
Mitglied
Werkzeugkonstrukteur


Sehen Sie sich das Profil von Tstone an!   Senden Sie eine Private Message an Tstone  Schreiben Sie einen Gästebucheintrag für Tstone

Beiträge: 163
Registriert: 04.06.2003

Dell Precision 470
Intel Xeon CPU 3,00GHz
2GB Ram
Microsoft Windows XP
Catia V5 R18 SP6
VB2005

erstellt am: 26. Okt. 2009 17:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für HAW-Raptor 10 Unities + Antwort hilfreich

Hallo
wo wird iWorksheet deklariert, welchen Gültigkeitsbereich hat die Variabel?

------------------
Grüße TStone
   "Respektiere die Macht der Worte, wähle sie mit Bedacht!"

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

HAW-Raptor
Mitglied
Design Release Engineer


Sehen Sie sich das Profil von HAW-Raptor an!   Senden Sie eine Private Message an HAW-Raptor  Schreiben Sie einen Gästebucheintrag für HAW-Raptor

Beiträge: 58
Registriert: 12.10.2009

erstellt am: 26. Okt. 2009 17:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

Public iWorksheet as Object

ich habe mal genau vor dem CountIf Aufruf folgendes ausprobiert:

MsgBox (iWorksheet.Cells(2,2))

Und er gibt mir auch den richtigen Wert aus...

Ich hab's: ich hatte in der Private Sub ... Excel deklariert und das hat er natürlich nicht übernommen nachdem die Sub ausgeführt wurde

[Diese Nachricht wurde von HAW-Raptor am 26. Okt. 2009 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DanielFr.
Moderator
Manager


Sehen Sie sich das Profil von DanielFr. an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 27. Okt. 2009 05:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für HAW-Raptor 10 Unities + Antwort hilfreich

Hallo,

bekommen wir eigentlich bei soviel Support das Script auch zu sehen wenn es fertig ist? Oder ist es ein internes das unter KnowHow-Schutz steht?. Würde mich nämlich interessieren was du dir da zusammenbaust und wie das dann fertig aussieht 

------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

HAW-Raptor
Mitglied
Design Release Engineer


Sehen Sie sich das Profil von HAW-Raptor an!   Senden Sie eine Private Message an HAW-Raptor  Schreiben Sie einen Gästebucheintrag für HAW-Raptor

Beiträge: 58
Registriert: 12.10.2009

erstellt am: 18. Nov. 2009 14:06    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,
ja ich bin's wieder mit einem Problem, dessen Lösung ich nicht finden kann, bzw. nicht nachvollziehen kann.
Ich habe die Userform soweit fertig und er macht auch alles was ich will, außer die Exceldatei, die ich nutze, ist schon geöffnet.
Ich habe bereits eine Abfrage, ob eine bestimmte Exceldatei geöffnet ist in deine Funktion (DanielFr.) mit eingebaut und bekomme so keine Fehler mehr. Ich kann damit auch arbeiten, ich kann ein bestimmtes Blatt selektieren, Daten lesen und auch alles beim geöffneten Excelblatt nachvollziehen etc. Aber mein Problem ist folgender Befehl:

Code:
Set zelle = iWorksheet.Cells.Find(temp, After:=ActiveCell, LookIn:=-4163, LookAt:=2, _
        SearchOrder:=1, SearchDirection:=1, MatchCase:=False _
        , SearchFormat:=False)

Hier entsteht auf einmal ein Fehler, wenn ich die Exceldatei vorher geöffnet habe. Lasse ich die Datei über die Userform erzeugen (CreateObject etc.) funktioniert dieser Befehl.

Des Weiteren wundert es mich, dass ich, um vernünftig die Daten aus einem Tabellenblatt zu lesen, dieses selektieren muss. Ich habe es mal ausprobiert ohne es zu selektieren, indem ich eine Variable worksheet definiert habe und mit dieser das Programm laufen lasse, aber irgendwann funktioniert das nicht mehr, z.B. das löschen der Filter etc.

Habt ihr da noch Nützliches?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DanielFr.
Moderator
Manager


Sehen Sie sich das Profil von DanielFr. an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 18. Nov. 2009 15:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für HAW-Raptor 10 Unities + Antwort hilfreich

Hallo,

bekommen wir auch eine Fehlermedlung? Das mit den Worksheets kannst du wahrscheinlich über ein simples "actived" (bzw. aktivieren des entsprechenden Worksheets) lösen.

Ohne Beispielscript kann ich dir aber auch nichts genaueres sagen 

------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

HAW-Raptor
Mitglied
Design Release Engineer


Sehen Sie sich das Profil von HAW-Raptor an!   Senden Sie eine Private Message an HAW-Raptor  Schreiben Sie einen Gästebucheintrag für HAW-Raptor

Beiträge: 58
Registriert: 12.10.2009

erstellt am: 18. Nov. 2009 15:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo DanielFr.,
also das mit dem Tabellenblatt habe ich einfach mit Worksheet.Select gelöst, es wundert mich nur, dass es ohne diesen Befehl nicht geht.

Der Fehler lautet:

Run-time error '13'
Type mismatch

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

HAW-Raptor
Mitglied
Design Release Engineer


Sehen Sie sich das Profil von HAW-Raptor an!   Senden Sie eine Private Message an HAW-Raptor  Schreiben Sie einen Gästebucheintrag für HAW-Raptor

Beiträge: 58
Registriert: 12.10.2009

erstellt am: 22. Nov. 2009 16:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ach so eine Sache noch:
Wenn ich jetzt die Userform starte ist es mir nicht möglich, in Catia weiter zu arbeiten. Ist dies nicht möglich, oder finde ich nicht den richtigen Befehl

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

V5Playaz
Mitglied
Dipl.-Ing (BA)


Sehen Sie sich das Profil von V5Playaz an!   Senden Sie eine Private Message an V5Playaz  Schreiben Sie einen Gästebucheintrag für V5Playaz

Beiträge: 447
Registriert: 12.07.2005

DELL PRECISION 390
3,25 GB RAM
WIN XP PRO SP2
CATIA V5 R16-19
Delmia V5 R19
VB6, VB2008
Adobe Acrobat 9 Pro Extended

erstellt am: 22. Nov. 2009 17:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für HAW-Raptor 10 Unities + Antwort hilfreich

Wenn ich das alles richtig verstanden habe, arbeitest du jetzt über CATvba?!
Solange dort ein Makro/Userform/Code läuft, ist CATIA "blockiert".

Aber da wir dein Code nicht kennen, ist eine genauere Analyse nicht möglich.

Abhilfe bekommt man, falls bei dir kein Problem im Code vorliegt, durch die "externe" Programmierung, also z.B. über VB2008.

grüße Dominik

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

HAW-Raptor
Mitglied
Design Release Engineer


Sehen Sie sich das Profil von HAW-Raptor an!   Senden Sie eine Private Message an HAW-Raptor  Schreiben Sie einen Gästebucheintrag für HAW-Raptor

Beiträge: 58
Registriert: 12.10.2009

erstellt am: 22. Nov. 2009 19:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,
ja ich nutze CatVBA und habe jetzt keine Probleme mehr mit meinem Code 
Dann werde ich es also nicht realisieren können, die Userform zu nutzen und gleichzeitig Catia zu nutzen

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DanielFr.
Moderator
Manager


Sehen Sie sich das Profil von DanielFr. an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 23. Nov. 2009 05:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für HAW-Raptor 10 Unities + Antwort hilfreich

Morgen,

genau, wenn ein Makro in CATIA ausgeführt wird ist CATIA "blockiert" bis in deinem Script eine Zeile abgearbeitet wird in der eine Userinteraktion erforderlich ist (z.B. eine Selektion).

Die einzige Möglichkeit ein Script ablaufen zu lassen und gleichzeitig in CATIA und oder Excel zu arbeiten ist das ganze als externes z.B. .NET Makro aufzubauen.

------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz