Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Wert aus Excel Importieren

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:  Wert aus Excel Importieren (3620 mal gelesen)
PukyRider
Mitglied
Student, Maschinenbau


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

Beiträge: 31
Registriert: 19.04.2013

erstellt am: 07. Jun. 2013 12:57    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 Gemeinde,

ich habe hier mal ein Macro, welches fast überall im Forum schon mal aufgetaucht ist (desswegen kein Urheber)
Es soll nur einen Wert aus einer Excel Datei in Catia importieren. Das ist nur die Grundfunktion die ich brauche, aber leider scheitere ich schon hier.
Als Test lasse ich mir mit MsgBox den Wert ausgeben, aber es kommt nichts.
Hier erstmal der Code:

Code:
Sub CATMain()

Dim Excel As Object
           
                On Error Resume Next
                Set Excel = GetObject(, "Excel.Application")
Wahrscheinlich liegt es an dem fehlenden Ausdruck vor dem Komma, bin da aber ahnungslos

                If Err.Number <> 0 Then
                    Set Excel = CreateObject("Excel.Application")
                    Excel.Visible = True            'Excel im Hintergrund
                End If
                Excel.Workbooks.Open "C:\Temp\test.xls"
               
                           
           
            XLS_Feld = CDbl(WS.Cells(1,1).Value 
           
            MsgBox "Inhalt der Cell" & XLS_Feld

End Sub


Im Code steht ja schon meine Vermutung, da wenn ich es laufen lasse, XLS_Feld keinen Wert hat.
Zur Info: Datei liegt im angegebenen Verzeichniss und ist geöffnet.
Hoffe ihr könnt mir helfen,
vielen Dank

Puky

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: 07. Jun. 2013 13: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 Nur für PukyRider 10 Unities + Antwort hilfreich

Servus
Es ist nicht definiert in welcher Mappe du den Wert auslesen willst. zB
Code:
Sub CATMain()

Dim Excel As Object
Dim WB As Object
         
                On Error Resume Next
                Set Excel = GetObject(, "Excel.Application")


                If Err.Number <> 0 Then
                    Set Excel = CreateObject("Excel.Application")
                    Excel.Visible = True            'Excel im Hintergrund
                End If
                On Error goto 0
                Set WB = Excel.Workbooks.Open ("C:\Temp\test.xls")
                                       
          XLS_Feld = WB.ActiveSheet.Cells(1, 2)
         
            MsgBox "Inhalt der Cell" & XLS_Feld
End Sub


Gruß
Bernd

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

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

roccat
Mitglied
Konstrukteur


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

Beiträge: 172
Registriert: 19.02.2010

WinXP/Win7
Office XP/2007
Catia V5 R16-R19, VB6.0, VBA, BASCOM-AVR
VB .Net 2010

erstellt am: 07. Jun. 2013 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 Nur für PukyRider 10 Unities + Antwort hilfreich

Hi,

hast du unter TOOLS\REFERENCES\ die "MICROSOFT EXCEL ?.? Object Library" gezogen?

Code:

Sub CatMain()
Dim MyExcel            As Excel.Application
Dim MyWorkbooks        As Excel.Workbooks
Dim MyWorkbook          As Excel.Workbook
Dim MyWorkSheet        As Excel.Worksheet


'Geöffnetes Excel ansprechen
On Error Resume Next
Set MyExcel = GetObject(, "Excel.Application")


'Wenn nicht offen dann neuen ExcelProzess erzeugen
If MyExcel Is Nothing Then
        Set MyExcel = CreateObject("Excel.Application")
End If
On Error GoTo 0

'Wenn ExcelProzess nicht erzeugt werden konnte dann Makro abbrechen
If MyExcel Is Nothing Then
        MsgBox "Kein Excel auf Ihren PC vorhanden", vbCritical
        End
End If

'Mit Excel weiterarbeiten...
MyExcel.Visible = False          'Excel im Hintergrund
Set MyWorkbooks = MyExcel.Workbooks
Set MyWorkbook = MyWorkbooks.Open("C:\Temp\test.xls")
Set MyWorkSheet = MyWorkbook.ActiveSheet
             
'Ausgabe
MsgBox "Inhalt der Cell: " & MyWorkSheet.Cells(1, 1).Value

'Alles schließen (im TaskManager häufen sich sonst die Excel-Prozesse)
MyWorkbook.Close
MyExcel.Quit

End Sub


mfG

Mario

------------------
Wenn das die Lösung sein soll,
will ich mein Problem zurück !!

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

PukyRider
Mitglied
Student, Maschinenbau


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

Beiträge: 31
Registriert: 19.04.2013

erstellt am: 07. Jun. 2013 13:48    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

Danke für die schnellen Antworten.
@bgrittmann: es hat sich leider nichts geändert.
@roccat: References habe ich in Catia nicht unter Tools und das Makro hat ein End zu viel, dann läuft es bis Line 19 und sagt: Object erforderlich
Code:
If MyExcel Is Nothing Then

[Diese Nachricht wurde von PukyRider am 07. Jun. 2013 editiert.]

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

roccat
Mitglied
Konstrukteur


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

Beiträge: 172
Registriert: 19.02.2010

WinXP/Win7
Office XP/2007
Catia V5 R16-R19, VB6.0, VBA, BASCOM-AVR
VB .Net 2010

erstellt am: 07. Jun. 2013 13: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 PukyRider 10 Unities + Antwort hilfreich

Hi,

ohne diese Reference kann es nicht laufen.

Das End bricht das Makro ab wenn Excel nicht angesprochen werden kann, das passiert unter anderen wenn du die Reference nicht gezogen hast.

Hast du Excel auf deinen Rechner installiert? Wenn ja, sollte die Reference auch vorhanden und anwählbar sein.

mfG
Mario

Edit: jetzt hab ich dich verstanden... nicht in Catia im VBA-Editor sind die Referencen versteckt 

------------------
Wenn das die Lösung sein soll,
will ich mein Problem zurück !!

[Diese Nachricht wurde von roccat am 07. Jun. 2013 editiert.]

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

PukyRider
Mitglied
Student, Maschinenbau


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

Beiträge: 31
Registriert: 19.04.2013

erstellt am: 07. Jun. 2013 13:56    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

Mist gar nicht dran gedacht, auf der Workstation läuft nur OpenOffice.
Macht das einen Unterschied?

Nachtrag:
Ich habe den Unterpunkt References in Tools gar nicht.

Nachtrag 2:
VBA Editor ist bei mir nicht Installiert.
Gibt es einen anderen Weg oder muss ich da erstmal einen Root-Admin organisieren?
[Diese Nachricht wurde von PukyRider am 07. Jun. 2013 editiert.]

[Diese Nachricht wurde von PukyRider am 07. Jun. 2013 editiert.]

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

roccat
Mitglied
Konstrukteur


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

Beiträge: 172
Registriert: 19.02.2010

WinXP/Win7
Office XP/2007
Catia V5 R16-R19, VB6.0, VBA, BASCOM-AVR
VB .Net 2010

erstellt am: 07. Jun. 2013 14: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 Nur für PukyRider 10 Unities + Antwort hilfreich

Glaube nicht das du OpenOffice so behandeln kannst wie das Microsoft Produkt. Wenn überhaupt kommst du mit Get oder CreateObject auf die Application. Habs aber noch nie versucht.

Also ohne Excel wirds so nicht gehen.

Du schreibst in CatScript?

Dann tausche mal das "End" in "Exit Sub". Dann sollte es mit Excel funktionieren.

Wenn der Visual Basic Editor unter Tools\Macro... grau ist kannst du den vom Admin nachinstallieren lassen.

mfG
Mario

------------------
Wenn das die Lösung sein soll,
will ich mein Problem zurück !!

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

PukyRider
Mitglied
Student, Maschinenbau


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

Beiträge: 31
Registriert: 19.04.2013

erstellt am: 07. Jun. 2013 14: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

Dein Script läuft soweit, das Problem ist, das für MyExcel kein Object vorhanden ist.
Ja schreibe in CatScript und der VBE ist nicht grau, sondern wenn ich etwas öffnen will kommt die Meldung das es nicht richtig installiert ist.

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: 08. Jun. 2013 11:51    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 PukyRider 10 Unities + Antwort hilfreich

Servus
IMHO kannst du ohne Excel-Installation auf dem Rechner nicht per Makro Werte aus der Datei auslesen.
Per Makro ist sehr aufwändig über OpenOffice/LibreOffice die Daten auszulesen.
Am einfachsten wäre, die Datei als csv bzw txt zu exportieren (manuell) und dann per Makro auszulesen.

Gruß
Bernd

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

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

PukyRider
Mitglied
Student, Maschinenbau


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

Beiträge: 31
Registriert: 19.04.2013

erstellt am: 12. Jun. 2013 08:13    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

Die Idee hatte ich auch schon, aber leider macht es das Makro dann quasi überflüssig, da in der Exceldatei ein Name, ebenfalls mit Makros, erstellt wird.
Dann muss ich da drauf verzichten, trotzdem danke an alle.

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: 12. Jun. 2013 08:30    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 PukyRider 10 Unities + Antwort hilfreich

Servus
Und wie wird in der Datei, ohne das Excel installiert ist, ein Makro ausgeführt?

Gruß
Bernd

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

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

PukyRider
Mitglied
Student, Maschinenbau


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

Beiträge: 31
Registriert: 19.04.2013

erstellt am: 12. Jun. 2013 10: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

Das Makro ist in Excel geschrieben und auf der Workstation ist OpenOffice installiert. Die .xlt Dateien werden mit OpenOffice Calc geöffnet.

Edit: Dazu kommt ja auch noch das der VB Editor nicht installiert ist.

Grüße
Tim

[Diese Nachricht wurde von PukyRider am 12. Jun. 2013 editiert.]

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

HoBLila
Mitglied
Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx


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

Beiträge: 1118
Registriert: 29.05.2008

DELL PRECISION T3500
Intel(R) Xeon(R) CPU W3540 @ 2.93GHz
12285 MB RAM
NVIDIA Quadro FX 1800
Microsoft Windows 7 Enterprise Service Pack 1
CATIA V5 R19 SP09 HF69
VB6.5
CAA RADE CDC

erstellt am: 12. Jun. 2013 11:59    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 PukyRider 10 Unities + Antwort hilfreich

Hallo Tim,

bitte überdenk noch einmal Dein Projekt, es scheint nicht fertig durchkonzeptioniert sein. So kann es einfach nicht funktionieren und hier wird versucht Fakten mit extremen Systembrüchen zu schaffen. Das komplette Konzept stimmt nicht und wird nicht funktionieren. Mit jeder Antwort die Du bekommst werden hier neue Löcher aufgerissen, weshalb ich mich bisher auch rausgehalten habe.

Was ihr vorhabt, warum auch immer so extrem kompliziert, wird nicht funktionieren. Bitte macht euch zunächst über die Technologien, bitte mit einem Experten, Gedanken und versucht bitte auch Brüche zwischen den Technologien zu vermeiden.

Wenn das Ganze auf Excel-Makro zielt und das der wichtigste Bestandteil ist, dann erweitert das Makro doch einfach um die CATIA-Inhalte oder eben umgekehrt bringt alles in ein Makro in CATIA, nicht dieses hin und her. Es ist ehh beides VBA oder VBS, je nachdem, was ihr für Anforderungen habt.

Also jetzt erst einmal das Konzept ausarbeiten und vor allem klären, was ihr überhaupt für ein Ziel habt. :-) Das hilft oft weiter und würde auch uns helfen Dir Alternativen vorzuschlagen.

Kleiner Hinweis noch von mir, damit eure Expertenrunde schon nen Vorschuss hat: OpenOffice nutzt ne andere Programmiersprache für Makros. Soweit ich weiß ist das StarBasic oder StarOffice. Vielleicht kann man das aber mittlerweile miteinander verheiraten.

------------------
Mit freundlichen Grüßen,
Henry Schneider
alias Lila

Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren:
Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen,
die Natur versucht, immer bessere Idioten zu bauen

Xing

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

PukyRider
Mitglied
Student, Maschinenbau


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

Beiträge: 31
Registriert: 19.04.2013

erstellt am: 12. Jun. 2013 12: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

Ja da hast du recht.
Ich habe leider nicht genug Kenntnisse oder Erfahrung auf dem Gebiet der Makroprogramierung und so hat sich erst im Laufe des Threads herausgestellt, dass ich Programmteile in Catia brauche, die ich nicht habe.
Das mit dem Makro in Excel ist nur Nebensache und tut hier eigendlich nichts zur Sache. Die Grundidee war halt das "einfache" importieren eines Wertes aus einer Exceldatei. Was sich allerdings, aufgrund des fehlenden VBE, als unerwartet komplex herausgestellt hat.

Aber ich werde mir etwas überlegen und mit einer anderen Herangehensweise das Problem lösen.

Grüße
Tim
------------------
Vielen Dank für Ihr Interesse!

[Diese Nachricht wurde von PukyRider am 12. Jun. 2013 editiert.]

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