Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  Embedded / Eingebettete Excel Tabellen - Daten lesen

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 Autodesk Produkte
  
PNY wird von NVIDIA zum Händler des Jahres gewählt - zum dritten Mal in Folge, eine Pressemitteilung
Autor Thema:  Embedded / Eingebettete Excel Tabellen - Daten lesen (3347 mal gelesen)
Manni29
Mitglied


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

Beiträge: 6
Registriert: 05.05.2009

erstellt am: 05. Mai. 2009 00: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

Hallo liebe CAD Community!

Ich bin neu hier im Forum und hab gleich mal eine Frage:

Ist es möglich, mittels VBA, Zelleninhalte aus eingebetteten Excel Tabellen (Ole Objekt) lesen zu können?
Die Daten sollten dann direkt in AutoCAD weiter verwendet werden.
Es ist mir schon gelungen Zelleninhalte aus einer externen Tabelle zu lesen (und zu verarbeiten)  - aber irgendwie bekomme ich den Link zu eingebetteten Tabellen nicht hin.
(Das sollte ohne den "Data Link" Tool von AutoCAD auch möglich sein, oder?)
Meine AutoCAD Version ist 2009.
Mein VBA Kenntnisse sind eher "frisch"

Der Code für die Verbindung zu einer (bestehenden) externen Tabelle lautet wie folgt:

Private Sub CommandButton1_Click()
    'This code establishes connection with existing spreadsheet
    'Modify the path string to the location and name of your life
    Dim excelApp As Excel.Application
    Dim wbkObj As Workbook
    Dim shtObj As Worksheet
    On Error Resume Next
    UserForm1.Hide
    Err.Clear
    Set excelApp = GetObject(, "Excel.Application")
    If Err <> 0 Then
        Err.Clear
        Set excelApp = CreateObject("Excel.Application")
        If Err <> 0 Then
            MsgBox "Could not start Excel", vbExclamation
            End
        End If
    End If
    excelApp.Visible = True
    Set wbkObj = Workbooks.Open(FileName:="e:\Excel VBA Werte.xls")
    Set shtObj = excelApp.Worksheets(1)
    UserForm1.Show
End Sub

Wie gesagt, dieser Code funktioniert einwandfrei, nur statt "e:\Excel VBA Werte.xls" sollte der Link zu einer eingebetteten Tabelle stehen. Müssen da evtl. weitere Referenzen gesetzt werden? Wie lautet der Verweis?

Hab im Forum schon danach gesucht, leider nichts Brauchbares gefunden.
Wäre schön mir da jemand weiter helfen könnte!

Vielen Dank schonmal

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


Ex-Mitglied

erstellt am: 05. Mai. 2009 08:50    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

herzlich willkommen bei CAD-de 

Vorerst, den Weg von eingebetteter XLS-Tabelle Zellen auslesen zu können kenne ich leider nicht, hätte aber ein paar Ideen, die ev. helfen.

Wenn Du es über XLS brauchst (weil schon eine Menge DWG's mit eingebetteten XLS existieren), dann versuch mal, die Win-API für Copy&Paste zu nutzen indem Du ein Excel startest, eine leere Datei damit geöffnet hast und dann per Copy&Paste die Inhalte von der eingebetteten Tabelle hineinkopierst.

Wenn Du gerade am Workflow arbeitest, dann versuch mal statt Excel-Tabelle eine AutoCAD-Tabelle zu verwenden.

- alfred -

------------------
www.hollaus.at

Manni29
Mitglied


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

Beiträge: 6
Registriert: 05.05.2009

erstellt am: 06. Mai. 2009 03:19    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

Also erstmal Danke Alfred für die schnelle Antwort 

so wie ich Dich verstanden habe, soll ich die interne Tabelle exportieren (über Copy&Paste) und von der externen Tabelle die Daten lesen... richtig? Habs probiert und klappt auch... aber, das wär dann ein unnötiger Umweg und ich hätte wieder 2 Datein die nicht getrennt werden dürfen. Auf diese Weise könnte ich natürlich gleich die externe Tabelle ändern und die Daten einlesen.

Die AutoCAD Tabellen kann ich leider auch schlecht gebrauchen, weil meine Excel Tabelle viel kompliziertere Befehle enthält, die in AutoCAD Tabellen leider nicht möglich sind.

Ich bin Dir aber für Deine Ratschläge dankbar!

Gruß
Manni

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


Ex-Mitglied

erstellt am: 06. Mai. 2009 08:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi, 
Zitat:
das wär dann ein unnötiger Umweg und ich hätte wieder 2 Datein die nicht getrennt werden dürfen
...ich meinte auch nicht, dass Du die Excel-Tabelle, die Du per Paste erzeugst, unbedingt speichern musst, ich hätte diese nur generiert, um Zugriff auf die Zellen zu bekommen, die ich im OLE-Objekt innerhalb AutoCAD nicht hätte und dann wieder gelöscht.

Zitat:
ein unnötiger Umweg
...für mich wäre es ein notwendiger und kein unnötiger Weg, da ich sonst keinen Weg kennen würde    aber es gibt sicher noch wissendere, die es vielleicht unnötig machen könnten.

- alfred -

------------------
www.hollaus.at

Manni29
Mitglied


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

Beiträge: 6
Registriert: 05.05.2009

erstellt am: 06. Mai. 2009 09: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

Zitat:
...ich meinte auch nicht, dass Du die Excel-Tabelle, die Du per Paste erzeugst, unbedingt speichern musst, ich hätte diese nur generiert, um Zugriff auf die Zellen zu bekommen, die ich im OLE-Objekt innerhalb AutoCAD nicht hätte und dann wieder gelöscht.

hm das hört sich interessant an! Könntest du mir ein kleines Beispiel geben, wie so ein Code ausschauen könnte?

Danke schonmal im vorraus

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

Stelli1
Moderator
Verm.-Ing.


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

Beiträge: 1526
Registriert: 17.08.2005

Map 2000-2014, Rasterdesign,
MapGuide, Autodesk Topobase,
VS6, VS.net 2013

erstellt am: 06. Mai. 2009 09: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 Manni29 10 Unities + Antwort hilfreich

Hallo Manni,
Zitat:
Original erstellt von a.n.:
....dann versuch mal, die Win-API für Copy&Paste zu nutzen indem Du ein Excel startest, eine leere Datei damit geöffnet hast und dann per Copy&Paste die Inhalte von der eingebetteten Tabelle hineinkopierst.


Hast du den Code dafür schon fertig und wie sieht er aus ?

Wilfried Stelberg

------------------
Warum lisp'eln wenn's auch anders geht.
www.ib-stelberg.de

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