Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Catia_Excel Makroprojekt

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:  Catia_Excel Makroprojekt (2702 mal gelesen)
dbethge
Mitglied
Stud.Ing.


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

Beiträge: 44
Registriert: 02.12.2005

Catia V5 r17 sp3

erstellt am: 19. Nov. 2008 10: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


Userform_TED_Struktur_2_klein.jpg

 
Hallo liebe Catia spezies,

Erst möchte ich eine kleine Einführung zu mir geben und was der Hintergrund meiner Arbeit ist.
Ich studiere Fahrzeugtechnik und schreibe zurzeit meine Diplomarbeit und mache im Rahmen dieser Arbeit ein Projekt innerhalb Catia und Excel.
Da wir risige Mengen an V5 Daten haben, benutzen wir ein Verwaltungssystem, welche für jedes Teil Nummern vergibt. Diese Nummern müssen vorher angelegt werden und dann kann man aus Catia raus, das Part, Product etc. unter dieser Nummer ablegen.

Wenn wir in unsere Abteilung ein neues Projekt machen, wird zunächst eine Struktur mit ca 50 Nummern und Unterstrukturen (ähnlich wie Ordnerstrukturen) angelegt. Dies geschiet bislang von Hand und nimmt viel Zeit in Anspruch. Dies soll nun (voll) automatisiert ablaufen.

Es gibt ein internes Programm (hat hier mal jemand geschrieben), welches als Catia AddIn oder so arbeitet. Ich musste es installieren und habe nun ein Button, mit dem ich dieses Tool starte. Dieses Tool verarbeitet Textdateien, in der eine Struktur "programmiert" wurde. Im Grunde handelt es sich um eine Exceltabelle, die als Textdatei abgespeichert wird und je nach Struktur bis ca. 90 Zeilen hat.

Diese Textdatei wird nun in das Tool geladen und interpretiert daraus die anzulegende Struktur, die dann schon komplett auf dem Server erstellt wird.

Zu meinem Projekt:

Ich habe eine Userform erstellt(mit VBA), wo ein Benutzer festlegt, wie die Struktur aussehen soll und was sie beinhaltet. Ein Makro ( welches ich gerade programmiere ) nimmt die Daten aus der Userform und erstellt daraus die Textdatei für das Tool zum Einpflegen.

Die Userform sieht dann so aus:
   

Auf der linken Seite werden die Eingangsparameter definiert und auf der rechten Seite ist die Tabelle aus einem Excelsheet(bzw. Textdatei) als Vorschau dargestellt.

Code:
Private Sub UserForm_Initialize()
'TextBox2.Value = Environ("Username")

    ListBox1.RowSource = "Tabelle_1!A1:AE100"
    ListBox1.ColumnCount = 50

End Sub


Ich hatte bislang geplant, in der Userform einen Dateipfad (Speicherort für die erstellte Textdatei)zu wählen und mittels Commandbutton wird dann die Textdatei aus dem Excelsheet herausgeschrieben.

Nun zu den Fragen:

1. Ist es möglich dass ich die Textdatei erstellen lasse, ohne dabei Excel starten zu müssen? Ich benötige die Esceldatei um eben die Daten dort abzulegen und daraus die Textdatei zu erstellen, aber dies muss ja nicht sichtbar geschehen, sondern im Hintergund...

2. Ich programmiere die Makros nun unter VBA in Catia und Excel. Kann jeder, der auch den CATIA VBA Editor nicht installiert hat auch später auf dieses Makro zugreifen? Oder muss ich die dafür compilieren/convertieren etc..?

3. Ganz elegant wäre es, wenn  meine Userform das Export-Tool nach Erstellung das Exporttool selber starten und ausführen könnte? ( soviel zu voll-Automatisiert). Dies ist aber erstmal zweitrangig.

Mir geht es erstmal darum, dei Textdatei erstellen zu lassen, ohne großartig Excel gestartet haben zu müssen. Es müsste ja gehen, wenn eine Referenz zu einer Exceldatei im Makro gesetzt wird...

So, ersteinmal vielen Dank fürs Lesen. Ich hoffe, ich konnte ein wenig euer Interesse wecken und bedanke mich vorab schonmal für eure Hilfe und Anregungen, damit meine Diplomarbeit auch gut wird :-D.

Viele Grüße aus München,

Dirk


[Diese Nachricht wurde von dbethge am 19. Nov. 2008 editiert.]

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

RSchulz
Moderator²
Head of CAD, Content & Collaboration / IT-Manager



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

Beiträge: 5541
Registriert: 12.04.2007

@Work
Lenovo P510
Xeon E5-1630v4
64GB DDR4
Quadro P2000
256GB PCIe SSD
512GB SSD
SmarTeam V5-6 R2016 Sp04
CATIA V5-6 R2016 Sp05
E3.Series V2019
Altium Designer/Concord 19
Win 10 Pro x64

erstellt am: 19. Nov. 2008 11: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 dbethge 10 Unities + Antwort hilfreich

Hallo,
1.) Es ist natürlich möglich eine Textdatei zu schreiben, ohne ein weiteres Programm aufrufen zu müssen. Hierfür musst du dich eigendlich nur an die Formatierungen einer *.xls-Datei halten und kannst mich verschiedensten Befehlen einfach ein Datei schreiben.
z.B.:

Dim Bom as integer

Bom = freefile

Open "C:\Temp\MeinDatei.txt" For Output As #Bom

2.) Bei komplexen Programmierungen, die dann auch noch Programmübergreifend funktionieren sollen, programmiere ich immer unter VB.Net und kompiliere eine Exe. Aus den VBA`s heraus starte ich dann mit "Shell("C:\Temp\MeineExe.exe", vbNormalFocus)" das Programm und kann so Plattform unabhängig aggieren. Alle Daten, die ich dem Makro/Programm aus der Applikation heraus übergeben muss, schreibe ich in Dateien weg (z.B. XMl, INI, txt) und rufe diese dann mit dem Makro/Programm wieder ab. So ist man nur von der .Net-Version abhängig.

3.) siehe 1.) Aufruf eines Programms aus einem Programm heraus

------------------
MFG
Rick Schulz


Konfuzius sprach: "Wer sich das Alte noch einmal vor Augen führt, um das Neue zu verstehen, der kann anderen ein Lehrer sein."

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

Pietzonka
Mitglied
Maschinening.


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

Beiträge: 114
Registriert: 14.03.2006

erstellt am: 18. Okt. 2018 07: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 dbethge 10 Unities + Antwort hilfreich

Hallo Rick und Dirk!

Ihr habt mit RowSource gearbeitet und könnt mir bestimmt bei meinem Problem helfen.
Mein Code:

With ListBox_Größe
      .ColumnWidths = "1,5cm;5cm"
      .ColumnCount = 2
      .ColumnHeads = True
      .RowSource = Workbooks("Z:\SGW Neuaufbau\System.xlsx").Sheets("Systemgröße").Range("A1:A2")
End With

bringt die Fehlermeldung: Run-time error `9`: Subscript out of range.
Was ist in der Anweisung .RowSource falsch?

Mit freundlichem Gruß
Stephan

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