<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>VBA-Möglichkeiten erweitern?</title>
    <link>http://forum.geizhals.at/feed.jsp?id=289788</link>
    <description>Geizhals-Forum</description>
    <item>
      <title>Re(5): VBA-Möglichkeiten erweitern?</title>
      <link>http://forum.geizhals.at/t289788,1922606.html#1922606</link>
      <description>Vielen lieben Dank trotzdem und allen, die mir geantwortet haben!&lt;br&gt;Ich werde mich in die VB und VBA-Thematik einlesen und hoffe dass ich mit etwas Experimentieren weiterkomme.&lt;br&gt;lg&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Fri, 12 Nov 2004 11:19:31 GMT</pubDate>
      <guid>http://forum.geizhals.at/t289788,1922606.html#1922606</guid>
      <dc:creator>Glitzerfee</dc:creator>
      <dc:date>2004-11-12T11:19:31Z</dc:date>
    </item>
    <item>
      <title>Re(4): VBA-Möglichkeiten erweitern?</title>
      <link>http://forum.geizhals.at/t289788,1922118.html#1922118</link>
      <description>Ich hab' zwar ziemliche Ahnung von VBA und der API-Schnittstelle allgemein, aber leider eher weniger von AutoCAD... hab' gestern auch zum 1. Mal diesbezüglich in die Hilfe geschaut, sorry...&lt;br/&gt;</description>
      <pubDate>Fri, 12 Nov 2004 06:20:07 GMT</pubDate>
      <guid>http://forum.geizhals.at/t289788,1922118.html#1922118</guid>
      <dc:creator>TheTrumpeter</dc:creator>
      <dc:date>2004-11-12T06:20:07Z</dc:date>
    </item>
    <item>
      <title>Re(3): VBA-Möglichkeiten erweitern?</title>
      <link>http://forum.geizhals.at/t289788,1921922.html#1921922</link>
      <description>hm dankeschön für die Information erstmal!&lt;br&gt;Für AutoCAD gibts eh ein Buch, wo das alles drinsteht. Ich arbeite aber mit TurboCAD (AutoCAD kann ich mir nicht leisten) und da gibts keine Objekte, die mit Acad... anfangen.&lt;br&gt;Ich hab mir schon gedacht, dass eigentlich das VBA von AutoCAD und das VBA von TurboCAD ja nicht so unterschiedlich sein können, immerhin ist ja beides VBA und beides hat mit CAD zu tun.&lt;br&gt;Die Klassen haben aber in TurboCAD andere Namen und auch die Objekte heissen anders. Zum Beispiel gibts nicht "ThisDrawing" sondern das heißt dann immer "Active Drawing".&lt;br&gt;Ich stell mal einen TurboCAD-Code hier rein, um es zu veranschaulichen:&lt;br&gt;--------------------------------------------------------------------------------&lt;br&gt;Sample 2: Edit three parameters (center, coordinate, and radius) of a selected circle.&lt;br&gt;&lt;br&gt;‘File EDITCIRLE.TCM	Edit two coordinates, X and Y, as well as radius R for a selected circle.&lt;br&gt;&lt;br&gt;'Before running the macro, a circle must be selected.Public Sub EditCircle()&lt;br&gt;&lt;br&gt;Dim App As Application&lt;br&gt;&lt;br&gt;Dim ActDr As Drawing&lt;br&gt;&lt;br&gt;Dim Grs As Graphics&lt;br&gt;&lt;br&gt;Dim Gr As Graphic&lt;br&gt;&lt;br&gt;Dim Vers As Vertices&lt;br&gt;&lt;br&gt;Dim Ver As Vertex&lt;br&gt;&lt;br&gt;Dim ObjSel As Selection&lt;br&gt;&lt;br&gt;Dim NumSel As Long, i As Long&lt;br&gt;&lt;br&gt;Dim GrSelType As String&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set App = IMSIGX.Application&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set ActDr = App.ActiveDrawing&amp;nbsp;&amp;nbsp; &lt;br&gt;&lt;br&gt;Set ObjSel = ActDr.Selection	‘Define the selected entities.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NumSel = ObjSel.Count&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If NumSel = 0 Then Exit Sub&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For i = 0 To NumSel - 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set Gr = ObjSel.Item(i) &lt;br&gt;&amp;nbsp;&amp;nbsp;GrSelType = Gr.Type&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If GrSelType = "CIRCLE" Then	‘&lt;br&gt;Choose the entity of the Circle type.&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set Vers = Gr.Vertices &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set Ver = Vers.Item(0) &lt;br&gt;Dim XcOld#, YcOld#, Xr#, Yr#, ROld#&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;XcOld = Ver.X&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;YcOld = Ver.Y&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set Ver = Vers.Item(1) &lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Xr = Ver.X&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Yr = Ver.Y&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ROld = Sqr((Xr - XcOld) * (Xr - XcOld) + (Yr - YcOld) * (Yr - YcOld))&lt;br&gt;&lt;br&gt;UserForm1.TextBox1.Text = CStr(XcOld)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UserForm1.TextBox2.Text = CStr(YcOld)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UserForm1.TextBox3.Text = CStr(ROld)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UserForm1.Show&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Gr.Unselect&lt;br&gt;&lt;br&gt;Dim XcNew#, YcNew#, RNew#&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;XcNew = CDbl(UserForm1.TextBox1.Text)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;YcNew = CDbl(UserForm1.TextBox2.Text)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RNew = CDbl(UserForm1.TextBox3.Text)&lt;br&gt;&lt;br&gt;Dim Matr As Matrix ' A transformation matrix&lt;br&gt;Dim xScale#, yScale#, dx#, dy#&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xScale = RNew / ROld&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;yScale = RNew / ROld&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dx = XcNew - XcOld&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dy = YcNew - YcOld&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set Matr = Gr.Scale(xScale, yScale, 1) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set Matr = Gr.MoveRelative(dx, dy, 0) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Gr.Select&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End If&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next i&lt;br&gt;End Sub&lt;br&gt;--------------------------------------------------------------------------------&lt;br&gt;&lt;br&gt;Wenn du dich mit AutoCAD-Programmierung gut auskennst, kannst du mir ja sicher, nachdem du den Code angesehen hast, sagen, wie unterschiedlich die Objekte und Klassen sind, oder ob man einen AutoCAD-VBA-Code einfach für TurboCAD umschreiben könnte.&lt;br&gt;&lt;br&gt;Könnte es nicht eigentlich auch funktionieren, in Visual Basic einen Code wie deinen geposteten zu schreiben und die AutoCAD-Objektbibliotheken in das VB-Projekt einzubinden?&lt;br&gt;Läuft der Code dann aber in TurboCAD?&lt;br&gt;Oder geht das nur mit den TurboCAD-eigenen Objektbibliotheken?&lt;br&gt;&lt;br&gt;Das Problem ist nämlich, über VBA für AutoCAD habe ich ein umfangreiches Buch mit zahlreichen Listings, die man ausprobieren könnte (wenn man AutoCAD hat...) aber für TurboCAD gibts so gut wie keine Dokumentation, die das einem Anfänger erklärt.&lt;br&gt;&lt;br&gt;lg&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Thu, 11 Nov 2004 22:36:26 GMT</pubDate>
      <guid>http://forum.geizhals.at/t289788,1921922.html#1921922</guid>
      <dc:creator>Glitzerfee</dc:creator>
      <dc:date>2004-11-11T22:36:26Z</dc:date>
    </item>
    <item>
      <title>Re(3): VBA-Möglichkeiten erweitern?</title>
      <link>http://forum.geizhals.at/t289788,1921803.html#1921803</link>
      <description>hmm .. ich glaube ich überlasse das lieber den leuten die sich damit schon auskennen .. müsste mich da auch zuerst mal einarbeiten ..&lt;br&gt;&lt;br&gt;mit VB(A) hab ich schon lange nichts mehr gemacht ..&lt;br&gt;&lt;br&gt;ABER: Wenn es dir tatsächlich ein VBA zur Verfügung stellt, dann wird es sicher ein Objekt namen TurboCAD (oder ähnlcih) geben, auf dessen Methoden zu zugreifen kannst ..&lt;br&gt;&lt;br&gt;Aber ich kenne mich damit eindeutig zu wenig aus &lt;img src="smile.gif" width="16" height="19" align="absmiddle" alt=":)"/&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Wünsche dennoch viel Glück &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";)"/&gt;&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Thu, 11 Nov 2004 21:48:16 GMT</pubDate>
      <guid>http://forum.geizhals.at/t289788,1921803.html#1921803</guid>
      <dc:creator>Somnatic</dc:creator>
      <dc:date>2004-11-11T21:48:16Z</dc:date>
    </item>
    <item>
      <title>Re(2): VBA-Möglichkeiten erweitern?</title>
      <link>http://forum.geizhals.at/t289788,1921789.html#1921789</link>
      <description>Ach ja, Beispiel-Code gibt's auch massenhaft...&lt;br&gt;&lt;br&gt;Z.B. Erstellen einer neuen Zeichung:&lt;br&gt;&lt;i&gt;Sub Ch3_NewDrawing()&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim docObj As AcadDocument&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set docObj = ThisDrawing.Application.Documents.Add&lt;br&gt;End Sub&lt;/i&gt;&lt;br&gt;&lt;br&gt;oder: Öffnen einer Zeichnung (sogar mit Überprüfung auf Vorhandensein der Datei...)&lt;br&gt;&lt;i&gt;Sub Ch3_OpenDrawing()&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim dwgName As String&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dwgName = "c:\campus.dwg"&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If Dir(dwgName) &lt;&gt; "" Then&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ThisDrawing.Application.Documents.Open dwgName&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox "Datei " &amp; dwgName &amp; " nicht vorhanden."&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End If&lt;br&gt;End Sub&lt;/i&gt;&lt;br/&gt;</description>
      <pubDate>Thu, 11 Nov 2004 21:40:12 GMT</pubDate>
      <guid>http://forum.geizhals.at/t289788,1921789.html#1921789</guid>
      <dc:creator>TheTrumpeter</dc:creator>
      <dc:date>2004-11-11T21:40:12Z</dc:date>
    </item>
    <item>
      <title>Re: VBA-Möglichkeiten erweitern?</title>
      <link>http://forum.geizhals.at/t289788,1921781.html#1921781</link>
      <description>Am Einfachsten wird wohl sein, Du bindest Dir die nötigen Bibliotheken erstmal in ein VBA-Projekt ein (Extras - Verweise, dort müsst's dann 3 Bibliotheken geben, die mit "AutoCAD 2004" anfangen - oder je nachdem welche Version Du verwendest).&lt;br&gt;Dann kannst Du mal durch den "Objektkatalog" (F2) blättern und schauen, was es so gibt...&lt;br&gt;Vielleicht hilft Dir ja auch Google weiter?&lt;br&gt;&lt;br&gt;Im AutoCAD-Verzeichnis gibt's übrigens einen Unterordner "Samples\VBA", da ist auch einiges drin.&lt;br&gt;&lt;br&gt;Ausserdem bietet die AutoCAD-Hilfe einen eigenen Punkt "ActiveX-Automatisierung und VBA". Da sind alle Klassen, Methoden etc. erklärt.&lt;br&gt;Auf den ersten Blick schaut das besser aus als jede Microsoft-VBA-Hilfe, in die ich jemals geschaut hab'...&lt;br/&gt;</description>
      <pubDate>Thu, 11 Nov 2004 21:37:29 GMT</pubDate>
      <guid>http://forum.geizhals.at/t289788,1921781.html#1921781</guid>
      <dc:creator>TheTrumpeter</dc:creator>
      <dc:date>2004-11-11T21:37:29Z</dc:date>
    </item>
    <item>
      <title>Re(2): VBA-Möglichkeiten erweitern?</title>
      <link>http://forum.geizhals.at/t289788,1921407.html#1921407</link>
      <description>Ah, super dass du mir antwortest, ich hab mir deine Postings schon durchgelesen und du hast echt Ahnung von der Materie und kannst mir am ehesten noch helfen.&lt;br&gt;&lt;br&gt;Also: das Programm nennt sich TurboCAD (ich könnte dir eine Probeversion per ICQ oder so schicken).&lt;br&gt;AutoCAD hat übrigens auch eine VBA-Schnittstelle.&lt;br&gt;&lt;br&gt;Wenn du es dir anschauen könntest, wärs glaub ich am besten, weil so drüber reden ist irgendwie schwer. &lt;br&gt;Jedenfalls hab ich gelesen, dass TurboCAD nicht nur mit der integrierten VBA-Umgebung programmierbar ist, sondern auch mittels Visual C++, Visual Basic usw. Von den ganzen Programmiersprachen würde ich am liebsten mit VB anfangen, weil das am leichtesten zu lernen ist, wenn man noch nie was mit Objektorientierter Programmierung gemacht hat. C++ ist mir für den Anfang echt zu schwer und alle .NET Sprachen funktionieren bei TurboCAD irgendwie nicht (Erfahrung anderer TC-User)&lt;br&gt;&lt;br&gt;Was ich ganz konkret machen möchte:&lt;br&gt;Zuerst mal lernen, wie allgemeine Zeichenfunktionen (Linien per Mausklick erstellen, Kreise mittels geklicktem Mittelpunkt und geklicktem Radiuspunkt erstellen usw.) um die Materie zu verstehen, also mal grundlegend, welche Bibliotheken man da verwendet, welche API-Funktionen es da gibt, wie man die einbindet usw.&lt;br&gt;&lt;br&gt;Ziel der ganzen Sache soll es sein, wiederkehrende Abläufe zu automatisieren. Also ich&amp;nbsp;&amp;nbsp;will die Zeichenvorgänge, die ich beim Zeichnen einer Konstruktion mache, aufzeichnen und einen Button kreieren, mit dem ich diese Automation aufrufen kann. Damit das Ganze aber sinnvoll ist, müssen die Werte, mit denen ich die Zeichnung erstellt habe, in Variablen umgewandelt werden können, dazu möchte ich ein Dialogfeld, das beim Buttonklick aufgeht und den Benutzer nach den Variablen fragt.&lt;br&gt;Nach Eingabe der Variablenwerte soll das Programm die Zeichnung mit diesen neuen Maßen erstellen.&lt;br&gt;&lt;br&gt;Dass das nicht einfach ist, weiß ich, aber ich brauche sowas ganz dringend, damit das ganze CAD-Programm für mich einen Sinn hat.&lt;br&gt;Ich könnte zwar jede Zeichnung in VBA "programmieren", dann könnte ich Variablen und eine Variablenabfrage per Dialogfeld programmieren, aber bei 200 verschiedenen Zeichnungen wird das aufwändig. Klar möchte ich aber mit sowas anfangen, um mal die grundlegenden Funktionen fürs Zeichnen usw. kennenzulernen.&lt;br&gt;&lt;br&gt;Damit ich es aber bei 200 und mehr verschiedenen Zeichnungen leichter habe, möchte ich, dass ich diese Zeichnungen anstatt zu programmieren nur zeichnen brauche, ein Recorder das aufnimmt, ich die Masse, mit denen ich gezeichnet habe, in Variablen umwandeln und damit die Zeichnung in ein lauffähiges Makro verwandeln kann, das dieselbe Zeichnung mit beliebigen Längenmaßen erstellt.&lt;br&gt;&lt;br&gt;Für weitere Hilfe bin ich sehr dankbar,&lt;br&gt;lg&lt;br/&gt;</description>
      <pubDate>Thu, 11 Nov 2004 18:56:53 GMT</pubDate>
      <guid>http://forum.geizhals.at/t289788,1921407.html#1921407</guid>
      <dc:creator>Glitzerfee</dc:creator>
      <dc:date>2004-11-11T18:56:53Z</dc:date>
    </item>
    <item>
      <title>Re: VBA-Möglichkeiten erweitern?</title>
      <link>http://forum.geizhals.at/t289788,1921331.html#1921331</link>
      <description>&gt; die VBA-Entwicklungsumgebung eines CAD-Programms zu erweitern?&lt;br&gt; ... welches Programm hat denn eine solche ? Mir sind bis dato nur Programme von MS selber bekannt ..&lt;br&gt;&lt;br&gt;&gt; Ich habe gehört, dass man für CAD-Programme, die eine VBA-SDK haben, auch in&lt;br&gt;&gt; VB Anwendungen, Plug-Ins usw. programmieren kann.&lt;br&gt;Du kannst z.B. in VB Anwendungen schreiben, die mit einer Instanz von Excel arbeiten. Sprich: Du kannst auf vorgefertigte Methoden zurückgreifen. Frag mal den Entity, der macht momentan grad sowas.&lt;br&gt;&lt;br&gt;Aber ich möchte hier erstmal zwei Dinge klarer unterscheiden:&lt;br&gt;* Viele Programme bringen irgendwelche internen Erweiterungsschnittstellen mit sich. Meist sind dies irgendwelche Script Sprachen, die auf gewisse Befehle reagieren. MS bringt bei seinen Office Produkten VBA (Visual Basic for Applications) zum Einsatz.&lt;br&gt;* Eine andere Möglichkeit ist die Com - Interoperability zu nutzen. Beispielsweise kann man in VB ein Excel Objekt erzeugen und auf dieses Methoden anwenden, die dieses Excel Objekt hat.&lt;br&gt;&lt;br&gt;&lt;br&gt; &gt; VBA-Umgebung des Programms eigene Klassen und Funktionsnamen hat.&lt;br&gt;Wie schon gesagt .. Was für eine VBA Umgebung. Die meisten Programme die ich kenne bringen irgendeine proprietäre Scriptsprache mit sich (z.b. Macromedia Flash mit seinem ActionScript).&lt;br&gt;&lt;br&gt;Grundsätzlich gilt: Wenn du eine Applikation erweitern willst, tu dies mit der Scriptsprache die mitgeliefert wird.&lt;br&gt;&lt;br&gt;THEORETISCH hast du auf jedes Objekt im ganzen Windows jederzeit vollen Zugriff. Aber was das an Programmieraufwand erfordert ist nicht mehr lustig und kommt praktisch sicherlich nicht in Frage.&lt;br&gt;&lt;br&gt;GDI, ActiveX, OLE .. hmm .. &lt;br&gt;GDI: Graphics Device Interface (glaub ich): Das GDI steht zwischen einem Anwendungsprogramm und dem Anzeigegerät. Sprich: Dein Programm sagt: Zeichne einen Button, und damit dieser dargestellt wird, darum kümmert sich GDI.&lt;br&gt;ActiveX: bezeichnet vorgefertigte Steuerelemente, die auch einen tiefen Eingriff ins System zulassen .. Wahrscheinlich auch nicht das was du suchst &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";)"/&gt;&lt;br&gt;OLE: Object Linking and Embedding: Bezeichnet nix anderes als das hin und herschieben von daten über die Zwischenablage &lt;img src="smile.gif" width="16" height="19" align="absmiddle" alt=":)"/&gt; Stammt noch aus Windows - Urzeiten glaub ich &lt;img src="smile.gif" width="16" height="19" align="absmiddle" alt=":)"/&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Sag am besten konkret um welches Programm es geht, und was du machen willst - evtl. findet sich eine Lösung auf diesem Weg .. &lt;br&gt;&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Thu, 11 Nov 2004 18:26:39 GMT</pubDate>
      <guid>http://forum.geizhals.at/t289788,1921331.html#1921331</guid>
      <dc:creator>Somnatic</dc:creator>
      <dc:date>2004-11-11T18:26:39Z</dc:date>
    </item>
    <item>
      <title>VBA-Möglichkeiten erweitern?</title>
      <link>http://forum.geizhals.at/t289788,1921255.html#1921255</link>
      <description>Hallo!&lt;br&gt;Ich bin ganz neu hier, und hier schon mal meine erste Frage:&lt;br&gt;Gibt es eine Möglichkeit, die VBA-Entwicklungsumgebung eines CAD-Programms zu erweitern? Ich habe gehört, dass man für CAD-Programme, die eine VBA-SDK haben, auch in VB Anwendungen, Plug-Ins usw. programmieren kann.&lt;br&gt;Was das Programmieren angeht, bin ich eigentlich leider totale Anfängerin, ich habe grade mal ein paar Monate C (prozessorientiert) gelernt, und bin dort bis zu den Pointern gekommen.&lt;br&gt;Jetzt versuche ich mir gerade Visual Basic 6 beizubringen, aber im Literaturdschungel finde ich nur Bücher über Textanwendungen und Datenbankprogrammierung, nix über CAD.&lt;br&gt;Programme, die eine VBA-Entwicklungsumgebung haben, haben doch eigene Funktionen und Klassen, die nicht dieselben wie bei Visual Basic sind, oder sehe ich das falsch?&lt;br&gt;Also wenn ich jetzt was in Visual Basic programmiere, kann doch sein, dass das CAD-Programm den Code nicht lesen kann, weil es selbst in einer anderen Programmiersprache (wahrscheinlich C++ oder so) programmiert wurde und die VBA-Umgebung des Programms eigene Klassen und Funktionsnamen hat.&lt;br&gt;Wie kann ich dann in Visual Basic Anwendungen programmieren, die in diesem CAD-Programm laufen? &lt;br&gt;Ich hab schon so einige Begriffe aufgeschnappt, die mit Grafikprogrammierung zu tun haben, wie GDI, ActiveX, OLE, usw.&lt;br&gt;Was davon könnte mir nützen? Gibts da wirklich gar keine Literatur zu dem Thema?&lt;br&gt;&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Thu, 11 Nov 2004 17:47:59 GMT</pubDate>
      <guid>http://forum.geizhals.at/t289788,1921255.html#1921255</guid>
      <dc:creator>Glitzerfee</dc:creator>
      <dc:date>2004-11-11T17:47:59Z</dc:date>
    </item>
  </channel>
</rss>
