Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  autocad/vba/excel

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
  
PRO.FILE Kundentag, eine Veranstaltung am 16.06.2026
Autor Thema:  autocad/vba/excel (697 mal gelesen)
jobau
Mitglied
Bauingenieur


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

Beiträge: 209
Registriert: 21.01.2003

erstellt am: 11. Mrz. 2003 15:43    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 hab folgendes problem: ich hab eine excel-tabelle, die mir
(kurz gesagt) die höhe eines punktes, der beliebig zwischen drei
weiteren punkten liegt, ermittelt.
die x,y,z werte der punkte lese/schreibe ich aus autocad heraus mit
vba in eine textdatei. diese daten lese ich dann wieder mit vba in
die excel-tabelle ein.
wie kann ich mir diesen zwischenschritt über die textdateien sparen
und die daten direkt in excel einlesen? in der hilfe hab ich gelesen,
dass dies eigentlich funktioniert, aber irgendwie kapier ich nicht so
ganz wie.... hat einer vielleicht ein beispiel für mich?

mit dank im voraus
jörg

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

Bernd Cuder
Mitglied
Selbständig


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

Beiträge: 692
Registriert: 10.07.2002

AutoCAD 2002/2004/2005
unter Windows 2000
Professional SP3
PIV 3.4GHz 1024MB
NVIDIA GeForce FX Go5700

erstellt am: 11. Mrz. 2003 16:01    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 jobau 10 Unities + Antwort hilfreich

Nesquiker
Mitglied
CAD - Zeichner


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

Beiträge: 69
Registriert: 16.01.2003

erstellt am: 11. Mrz. 2003 22: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 jobau 10 Unities + Antwort hilfreich

hallo
hier ein Versuch!!
ist die Textdatei eine csv (durch kommas getrennte Zellen) in die du von Acad aus schreibst?
wenn ja, dann dem Excel sagen das es als Dezimaltrennzeichen einen Punkt nehmen soll anstatt ein komma (also die zahl PI = 3,14usw sollte 3.14usw. werden) Da Acad das komma als x,y,z koordinaten nutzt und Excel standardmässig mit komma als Dezimaltrennzeichen arbeitet kann es da zu fehlermeldung kommen.
grüsse

------------------
gruss
Nesquiker

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

Bernd Cuder
Mitglied
Selbständig


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

Beiträge: 692
Registriert: 10.07.2002

AutoCAD 2002/2004/2005
unter Windows 2000
Professional SP3
PIV 3.4GHz 1024MB
NVIDIA GeForce FX Go5700

erstellt am: 12. Mrz. 2003 00:49    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 jobau 10 Unities + Antwort hilfreich

@Nesquiker

er macht keine Attributsextraktion, er
will über VBA direkt Daten in Excel schreiben

------------------
Bernd Cuder
Cad&Co makes CAD easy - z.B. Applikation für lineare Bemaßung

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

jobau
Mitglied
Bauingenieur


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

Beiträge: 209
Registriert: 21.01.2003

erstellt am: 12. Mrz. 2003 06: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

Qbernd

ja super!! das mit dem beispiel hat geklappt. ich kann jetzt
aus autocad heraus excel öffnen. wie ich jetzt meine daten an
den richtigen ort bringe, muss ich jetzt mal sehen...
nochmal danke
jörg

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

RoSiNiNo
Mitglied
Konstrukteur


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

Beiträge: 1126
Registriert: 09.10.2002

Autodesk Building Design Suite Premium 2021
Windows 10 Pro 64bit
HP Workstation Z620, 24GB
GeForce GTX 970

erstellt am: 12. Mrz. 2003 07:34    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 jobau 10 Unities + Antwort hilfreich

Hi Jörg,
hier ein Beispiel wie ich es gemacht habe. Ist schon etwas älter, daher vielleicht nicht so schön programmiert.

Code:
Public ExcelVBA As Excel.Application    ' stellt Excel für alle Prozeduren bereit

' Übergibt Punktekoordinaten in Exeldatenblatt und
' speichert in Zeichnungspfand und Zeichnungsnamen
Public Sub Dots_Extract_Excel()
   
    Dim ExcelSheet As Object
    Dim ExcelWorkbook As Object
   
    Dim RowNum As Integer
    Dim Count As Integer
   
    Dim Pfad As String
    Dim DatName As String
    Dim PfadDatei As String
   
    Dim SS As AcadSelectionSet
    Dim Punkt As Object
    Dim PunktElem As AcadPoint
   
    Dim pointUCS As Variant
    Dim pointWCS As Variant
   
    Dim FltTypes(0) As Integer
    Dim FltData(0) As Variant
   
   
   
    'Filter für Selectionset erstellen
    FltTypes(0) = 0: FltData(0) = "POINT"
   
    ' Selectionset bilden und befüllen
    On Error Resume Next
        Set SS = ThisDrawing.SelectionSets("Dots_Extract_ExcelAuswahl")
        If Err Then
            On Error GoTo 0
            Set SS = ThisDrawing.SelectionSets.Add("Dots_Extract_ExcelAuswahl")
        Else
            On Error Resume Next
        End If
   
    SS.Clear
    SS.SelectOnScreen FltTypes, FltData
   
    If SS.Count = 0 Then GoTo ENDE
   
    ' Pfad für Speicherung Datei ermitteln
    Pfad = ThisDrawing.GetVariable("DWGPREFIX")
    DatName = ThisDrawing.GetVariable("DWGNAME")
    DatName = Left(DatName, Len(DatName) - 4)
    PfadDatei = Pfad & DatName & ".xls"
   
    ' Excel starten.
    If ExcelVBA Is Nothing Then Set ExcelVBA = New Excel.Application
    ExcelVBA.Visible = True
   
    ' Erstellen einer neuen Arbeitsmappe und Suchen des aktiven Arbeitsblatts.
    Set ExcelWorkbook = ExcelVBA.Workbooks.Add
    Set ExcelSheet = ExcelVBA.ActiveSheet
    ExcelWorkbook.SaveAs PfadDatei
   
    RowNum = 1
   
    ExcelSheet.Cells(RowNum, 1).value = "X"
    ExcelSheet.Cells(RowNum, 2).value = "Y"
    ExcelSheet.Cells(RowNum, 3).value = "Z"
   
    ' Modellbereich durchlaufen, umalle Blockreferenzen zu finden.
    For Each Punkt In SS
        Set PunktElem = Punkt
        'Eingabe des Einsetzpunktes
        pointWCS = PunktElem.Coordinates
        ' Translate the point into UCS coordinates
        pointUCS = ThisDrawing.Utility.TranslateCoordinates(pointWCS, acWorld, acUCS, False)
       
        ' X-, Y-, Z-Werte der Punkte in Excel kopieren
        RowNum = RowNum + 1
        For Count = 1 To 3
            ExcelSheet.Cells(RowNum, Count).value = pointUCS(Count - 1)
        Next Count
    Next Punkt
    ExcelVBA.WindowState = xlMinimized
ENDE:
    SS.Delete
   
End Sub


------------------
Roland

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