Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  ExcelTabelle mit API bearbeiten

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 SOLIDWORKS
  
FACTORY OF THE FUTURE - Von der traditionellen Fertigung zur vernetzten Fabrik
Autor Thema:  ExcelTabelle mit API bearbeiten (1297 mal gelesen)
weinel
Mitglied



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

Beiträge: 464
Registriert: 04.09.2002

erstellt am: 15. Jul. 2010 18:35    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,

ich habe folgendes Problem:
Ich möchte eine eingebette Exceltabelle in einer Zeichnung mit vb.net bearbeiten.
Das funktioniert alles solange SolidWorks manuell geöffnet wurde und er auf diese Instance zurückgreift (getObject),

nur wenn ich SWXSolidWorks mit

CreateObject(ProgId:="SldWorks.Application.16")

starte kann ich das Excel-Object nicht mehr aktivieren.
Interessanterweise kann man dann die Exceltabelle in der Zeichnung auch nicht mehr mit der Maus aktivieren.

Hat jemand schon mal so eine Erfahrung gemacht und einen Rat?

swOleObj findet er noch aber xlObj ist immer Nothing!

Hier der Code:

      For Each swOle In swOleObjs
                Try
                    swOleObj = CType(swOle, SldWorks.SwOLEObject)
                    Dim myGuid1 As New Guid(swOleObj.Clsid)
                    txt = Type.GetTypeFromCLSID(myGuid1).ToString()

                    If LCase(txt).Contains("excel") Then
                        swOleObj.Select(True)
                        xlObj = CType(swOleObj.SetActive(True), Microsoft.Office.Interop.Excel.Workbook)
                        xlObj.Application.Visible = True
                        xlSheet = CType(xlObj.ActiveSheet, Excel.Worksheet)
                        xlSheet.Calculate()
                        swOleObj.SetActive(False)
                        'Microsoft.VisualBasic.MsgBox(txt)
                    End If
                Catch ex As Exception

                End Try
            Next

------------------
Gruß weinel

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

HenryV
Mitglied
Konstrukteur, Engineering


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

Beiträge: 813
Registriert: 18.05.2005

SolidWorks 2022 x64 SP5.0
Dell Precision 5820
Intel Xeon W-2125 4x4GHz
NVIDIA Quadro P2000 5GB
32GB RAM
2x Dell U2412M, 24" TFT
Windows 10 Enterprise x64 22H2
Microsoft 365 E5
Microsoft Visual Studio Enterprise 2022

erstellt am: 16. Jul. 2010 08:54    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 weinel 10 Unities + Antwort hilfreich

Hallo weinel

CreateObject erzeugt eine SolidWorks-Sitzung, bei der keine Zusatzanwendungen geladen werden.

Versuche mal SolidWorks über die EXE zu starten.
Code Snippet findest du hier -> http://www.mysldworks.de/Details.aspx?ThemaID=13&SnippetID=90

Gruss Andreas

------------------
21 ist nur die halbe Antwort.

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

tbd
Mitglied
Teamleiter


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

Beiträge: 825
Registriert: 26.01.2006

Dell Percision T5400
Intel(R) Xeon(R) CPU
X5460 @ 3.16GHz
3,25 GB RAM
Nvidia Quadro FX 4600
-----
Win XP Prof SP 3
SW 2008 SP 5.0
PARTsolutions 8.1.08
Cideon SAP PLM 5.103.5.17
Visual Studio 2008

erstellt am: 16. Jul. 2010 11: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 Nur für weinel 10 Unities + Antwort hilfreich

Ich habe durch die Frage mal eine komplette Funktion geschrieben und auf MySldWorks.de veröffentlicht.

Die Funktion startet SolidWorks als Prozess und initialisiert anschließend mit Hilfe von GetObject eine SolidWorks Instanz.

Die Funktion findest du hier.

------------------
Mfg Daniel

www.MySldWorks.de - SolidWorks API Snippets

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

weinel
Mitglied



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

Beiträge: 464
Registriert: 04.09.2002

erstellt am: 16. Jul. 2010 16:12    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

Super! Das hat mir viel geholfen!

Vielen Dank!

------------------
Gruß weinel

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

weinel
Mitglied



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

Beiträge: 464
Registriert: 04.09.2002

SolidWorks 2016 SP4.0
M6800 K3100 Win7 64bit
Eplan P8 2.5
ARAS

erstellt am: 21. Jul. 2010 12: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,

jetzt habe ich doch noch eine Frage dazu:

Wenn ich jetzt mein Programm laufen lasse und Solidworks mit einer EXE starte, läuft es in einen Fehler, wenn der Bildschirmschoner eingeschaltet ist.
Das ist schlecht, da das Programm ein Batch-Programm ist, welches auf einem Rechner läuft, der dann nicht für alle zugänglich sein sollte.
Kann man da noch was drehen?

------------------
Gruß weinel

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)2024 CAD.de | Impressum | Datenschutz