Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX Programmierung
  externe Exceltabelle in Journalscript ansprechen

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
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX
Autor Thema:  externe Exceltabelle in Journalscript ansprechen (2200 mal gelesen)
UMo
Mitglied
Ingenieur

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

Beiträge: 5
Registriert: 01.10.2007

UG NX 3
auf XP SP2

erstellt am: 04. Okt. 2007 09: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

Hallo zusammen!

Für Dateiattribute möchte ich gern eine externe Exceltabelle benutzen. Extern ist dabei wichtig.

Beispielattribut:  thesession.parts.work.SetAttribute("NAME_DT",  name_dt(i))
wobei in  name_dt(i) "AUSSCHLEUS-STATION" stehen soll.

Pro Datei habe ich 36 Attribute zu vergeben. Und eine Station hat schnell mal 50 Dateien.
Excel halte da ich für die einfachste Art der Datenbank.
Diese Exceltabelle könnte dann zentral oder im Stationsverzeichnis liegen.

Mir fehlt schlicht die Syntax, auf die Exceltabelle zuzugreifen und die NX Hilfe bringt mich nicht wirklich weiter.

Grüße

------------------
Ulrich Mothes
Köln

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

SysRAdmin
Mitglied
SysAdmin


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

Beiträge: 39
Registriert: 05.12.2006

erstellt am: 04. Okt. 2007 10: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 UMo 10 Unities + Antwort hilfreich

Hallo Ulrich,
kannst Du die Werte nicht aus einer CSV-Datei lesen?
Aus einem Jounal auf Excel zugreifen geht glaub ich nicht. Zumindest bei mir hat er gemeckert als ich den Import Microsoft.Office.Interop.Excel verwenden wollte.
Ansonsten hier mal ein kleines Beispiel:

Dim xl As Microsoft.Office.Interop.Excel.Application
Dim wb As Microsoft.Office.Interop.Excel.Workbook
Dim rng As Microsoft.Office.Interop.Excel.Range
Dim ws As Microsoft.Office.Interop.Excel.Worksheet
xl = New Microsoft.Office.Interop.Excel.Application
wb = xl.Workbooks.Open("Exceldatei")
wb.Activate()
ws = wb.ActiveSheet()
rng = ws.range("Zellenname, zb A1")
rng.Value=Wert_der_Zelle


MfG
Chris

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

UMo
Mitglied
Ingenieur

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

Beiträge: 5
Registriert: 01.10.2007

UG NX 3
auf XP SP2

erstellt am: 04. Okt. 2007 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

Danke schon mal, Chris.

Mit welcher Biblithek spreche ich denn Microsoft.Office.Interop.Excel... überhaupt an?

Imports System
Imports NXOpen
Imports NXOpen.Assemblies
Imports system.windows.forms
Imports ???


CSV ist natürlich auch möglich (wenn Excel nicht geht).
Da weiß ich aber leider auch nicht, wie ich dran komme.

Gruß
Ulrich

------------------
Ulrich Mothes
Köln

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

SysRAdmin
Mitglied
SysAdmin


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

Beiträge: 39
Registriert: 05.12.2006

erstellt am: 04. Okt. 2007 12: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 UMo 10 Unities + Antwort hilfreich

Hallo Ulrich,
also ich habe folgende verwendet für Office2003:
Imports system.Runtime.InteropServices
Imports Microsoft.Office.Interop.Excel
Dafür muß die .NET-Erweiterung von Office2003 installiert sein.

Eine Textdatei kannst Du so einlesen:
Dim input As StreamReader
Dim text As String
dim werte() as string
input = New StreamReader(Dateiname, Encoding.Default, True)
While input.Peek () > -1
text=input.ReadLine
' hier fügst Du ein, was Du aus der Zeile auslesen willst
' wenn Du also eine CSV Datei hast, kannst Du z.B. mit
' werte = text.split(",") die Kommagetrennten Werte in das Array werte übergeben

End While
input.Close

Das Beispiel liest also zeilenweise die Datei "Dateiname" aus und übergibt die Zeile als String in die Variable text. Dort kannst Du sie verarbeiten wie Du willst.


MfG
Chris

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

UMo
Mitglied
Ingenieur

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

Beiträge: 5
Registriert: 01.10.2007

UG NX 3
auf XP SP2

erstellt am: 05. Okt. 2007 14: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

Vielen Dank, Chris, für die schnelle und gute Hilfe.
Dafür hätte ich wohl sonst noch lange suchen müssen.

So funktioniert's jetzt bei mir mit dem Import aus der Textdatei (.csv):

Imports NXOpen
Imports System
Imports System.IO  'Wichtig für StreamReader

Dim attrib_file As String = "Attribute.csv"
Dim input As StreamReader
Dim text As String
Dim attribute(50) as String
Dim w As Integer = 0
input = New StreamReader(attrib_file)
While input.Peek () > -1
    w = w + 1
    text = input.ReadLine
    attribute(w) = text
End While
input.Close

...

attribute() wird später ausgewertet (Mehrfachverwendung).

Gruß 

------------------
Ulrich Mothes
Köln

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

MarckyMON
Mitglied
Programmierer


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

Beiträge: 35
Registriert: 07.07.2008

erstellt am: 31. Jul. 2008 12: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 UMo 10 Unities + Antwort hilfreich

Hi Chris,

ich habe Office 2003 auf meinem PC und dazu die Interop assemblies. Wenn ich das folgende versuche:

Code:
Imports Microsoft.Office.Interop.Excel

Module Test
Sub Main()

End Sub

End Module


dann taucht die folgende Fehlermeldung auf:
Der Namespace oder Typ "Excel" für den Import "Microsoft.Office.Interop.Excel" wurde nicht gefunden. 

Ich habe auch die benötigte DLLs in den Ordner "managed" kopiert; das hat leider nicht geholfen.

Kennst du eine Lösung dafür???

Mille grazie im Voraus! 

-Marc

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

SysRAdmin
Mitglied
SysAdmin


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

Beiträge: 39
Registriert: 05.12.2006

erstellt am: 31. Jul. 2008 16: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 Nur für UMo 10 Unities + Antwort hilfreich

Hallo Marc,
das funktioniert nur, wenn Du das ganze Programm kompilierst zu einer .exe Datei (Lizenz vorrausgesetzt).
Nur im Journal kannst Du das Interop.Excel nicht verwenden.
Zumindest kenne ich keinen Weg.
MfG
Chris

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



Bauingenieur (m/w/d) für die Konstruktions- / Systemplanung

GOLDBECK?realisiert zukunftsweisende Immobilien in Europa. Wir verstehen Gebäude als Produkte und bieten alle Leistungen aus einer Hand: vom Design über den Bau bis zu Services im Betrieb. Aktuell beschäftigt unser Familienunternehmen mehr als 12.000 Mitarbeitende an über 100 Standorten bei einer?Gesamtleistung von über 6 Mrd. Euro. Unser Anspruch ?building?excellence? steht dabei für Spitzenleistungen ...

Anzeige ansehenBauwesen
MarckyMON
Mitglied
Programmierer


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

Beiträge: 35
Registriert: 07.07.2008

erstellt am: 31. Jul. 2008 18: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 UMo 10 Unities + Antwort hilfreich

Hi Chris,

danke fuer die schnelle Antwort! Ich sag Dir bescheid, ob es geklappt hat.

-Marc

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