Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Makro:Auslesen von Daten aus ExcelTabelle

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
  
Bechtle Competence Days | Online
Autor Thema:  Makro:Auslesen von Daten aus ExcelTabelle (2511 mal gelesen)
UserKD
Mitglied


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

Beiträge: 2
Registriert: 10.07.2008

erstellt am: 10. Jul. 2008 11: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

Servus,
also ich würd gern aus ein Excel Tabelle eine Wert aus einer bestimmten Zelle auslesen und dann in einem Textfeld in der Userform zurückgeben. ich weiß zwar wie man des in einem Makro direkt in Excel macht, aber in solidWorks funzt des net wirklich.
Ach, und wie man die Tabelle holt, ist mir au klar.
scho mal vielen dank
lg

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: 10. Jul. 2008 12:26    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 UserKD 10 Unities + Antwort hilfreich

Hallo UserKD,

alles was du benötigst ist eine Objektinstanz zu Excel!
Diese kannst du mit den Befehlen Create oder GetObject erzeugen.
Zum Beispiel so:

Code:
Dim oExcelApp As Object
Set oExcelApp = CreateObject("Excel.Application")

Sinnvoll ist es natürlich auch einen Verweis zu Excel in deinem SW-Makro. Aber es funktioniert natürlich auch ohne.
Wie du in Excel vorgehen musst weist du ja.

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

www.MySldWorks.de - SolidWorks Api Snippets

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

UserKD
Mitglied


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

Beiträge: 2
Registriert: 10.07.2008

erstellt am: 10. Jul. 2008 12: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

Is auch scho drin.
nur funzt es wie bei Excel deswegen trotzdem net.
hab aber keine ahnung warum

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

HaPe
Mitglied
Dipl. Ing Maschinenbau, Konstrukteur, CAD-Admin


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

Beiträge: 1096
Registriert: 27.11.2001

i7 CPU 960@3.20GHz
8GB Ram
Quadro 2000 4GB
70GB Raid 0
WIN7 prof. SP1 64 bit
SWX 2010 SP5.0
SWX 2012 SP5.0
SWX 2013 SP5.0

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

Hallo,

und herzlich willkommen im Forum. Vielleicht könnten wir das Rätselraten etwas abkürzen, wenn Du den Code postest und vielleicht in Deine Systeminfo reinschreibts, welche Software / Hardware Du verwendest. Das würde uns ungemein weiterhelfen, weil wir nicht immerzu in unsere Glaskugel schauen müssten  (Meine wird gerade frisch poliert  )

Gruß HaPe

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: 10. Jul. 2008 14: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 Nur für UserKD 10 Unities + Antwort hilfreich

Hallo UserKD

Hast du dir das Beispiel-Makro "Get Excel Cell Value for Density Example (VB)" aus der SolidWorks API-Hilfe schon angeschaut? (Im Index unter "Excel, cells")

Damit wird ein Wert aus Excel übernommen und in SolidWorks weiterverwendet.

Gruss Andreas

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

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

Lutz Federbusch
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. Maschinenbau



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

Beiträge: 3094
Registriert: 03.12.2001

alle SW seit 97+
AutoCAD2016-2022
ERP ProAlpha + CA-Link
Intel Core i7-7820K 32GB
Win10x64 Quadro K5000
SpacePilot

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

Wenn Du mit mehreren Applikationen herumhantierst, ist es manchmal notwendig, den Befehlen noch voranzustellen, welche gerade gemeint ist.
Zum Beispiel für eine Auswahl, bei der Du normalerweise im Excel nur 'Range("A2").Select' schreibst, mußt Du dann 'Excel.Range("A2").Select' eintippen. Probier mal...

------------------
Lutz Federbusch
Mein Gästebuch
Der Mensch, Herr oder Sklave der Technik?

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

thw
Mitglied
System Manager CAD


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

Beiträge: 13
Registriert: 21.11.2002

SW2018

erstellt am: 10. Jul. 2008 20: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 UserKD 10 Unities + Antwort hilfreich

Hier mal ein paar Codeschnipsel, um einen vorher in Excel markierten Bereich auszuwerten:

1. Excel-Applikation holen und das aktive Sheet aktivieren:

Set swApp = CreateObject("Sldworks.Application")

On Error Resume Next
Set xlApp = GetObject(, "Excel.Application")
If Err.Number <> 0 Then
    MsgBox ("Excel muss geladen sein!")
    End
End If

'On Error GoTo fehler

Set Blatt = xlApp.ActiveSheet

If (Blatt Is Nothing) Then
    MsgBox ("Kein Excel-Arbeitsblatt geöffnet!")
    End
End If

Dann beispielsweise den in Excel ausgewählten Bereich holen und prüfen ob die Größe stimmt:

Set Bereich = xlApp.Selection

'Es müssen mindestens 2 Reihen und 2 oder 3 Spalten selektiert werden!

If Bereich.Rows.Count < 2 Then
    MsgBox "Der markierte Bereich muss sich über mindestens 2 Zeilen erstrecken!"
    End
End If

If Bereich.Columns.Count < 2 Or Bereich.Columns.Count > 3 Then
    MsgBox "Der markierte Bereich muss über zwei oder drei Spalten gehen"
    End
End If

Hier noch eine Schleife über den ausgewählten Bereich, die prüft, ob die eingegebenen Werte ZAHLEN sind:

For i = 1 To Bereich.Rows.Count
    For j = 1 To Bereich.Columns.Count

    If Not IsNumeric(Bereich.Cells(i, j)) Then
        MsgBox "Bitte prüfen Sie die Eingabewerte: Nur Zahlen sind erlaubt!"
        End
    End If
    If (Bereich.Cells(i, j) = "") Then
        MsgBox "Bitte prüfen Sie die Eingabewerte: Keine leeren Felder!"
        End
    End If
    Next j
   
Next i

HTHHope this helps (Hoffe, es hilft weiter),

Gruß Thilo

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