| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: VBA Workshop (Excel Import) (1713 mal gelesen)
|
Stelli1 Moderator Verm.-Ing.
Beiträge: 1521 Registriert: 17.08.2005 Map 2000-2014, Rasterdesign, MapGuide, Autodesk Topobase, VS6, VS.net 2013
|
erstellt am: 03. Jan. 2007 19:22 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, erst mal noch ein gutes neues Jahr. Wir (Nancy, Carsten und ich) haben überlegt nochmal den VBA Teil auf der inoffiziellen AutoCAD Hilfeseite ein wenig zu ergänzen. In der letzten Zeit kamen einige Fragen im Umgang mit Excel auf. Wir haben von daher überlegt, dass es sinnvoll wäre einige Aufgabenstellungen an einem konkreten Projekt als Workshop zu erörtern. Ich habe bereits einen Programmrumpf gebaut. Hierbei soll ein Excel Import Wizzard erstellt werden. Da wir in Europa leben, sollte das Programm auch mehrsprachig arbeiten können. Das ist eine schöne Aufgabenstellung für eine Objektklasse. Ihr seht da gibt es eine Menge zu tun Wär daran Interesse hat kann sich ja mal melden, es gibt dann auch für alle was zu tun Übrigens sollte eine CHM Hilfe auch nicht fehlen Stelli ------------------ Warum lisp'eln wenn's auch anders geht. www.ib-stelberg.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Carsten1210 Mitglied staatl. geprüfter Holztechniker
Beiträge: 1357 Registriert: 24.07.2002
|
erstellt am: 17. Jan. 2007 18:26 <-- editieren / zitieren --> Unities abgeben: Nur für Stelli1
|
criecky Mitglied MENSCH
Beiträge: 251 Registriert: 13.01.2004 ACAD 2011- 2020 www.cbyte.eu
|
erstellt am: 27. Jan. 2007 22:06 <-- editieren / zitieren --> Unities abgeben: Nur für Stelli1
hallo, würde gern dabei mitwirken! beschäftige mich aber zur zeit nur noch mit arx ...... aber vielleicht trefft ihr bei vba auf grenzen.... dann würde ich gern weiterhelfen. gruss criecky ------------------ Softlan macht das Netzwerk weich! www.cbyte.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadmeplease Mitglied Developer
Beiträge: 8 Registriert: 31.01.2007
|
erstellt am: 31. Jan. 2007 16:18 <-- editieren / zitieren --> Unities abgeben: Nur für Stelli1
|
Stelli1 Moderator Verm.-Ing.
Beiträge: 1521 Registriert: 17.08.2005 Map 2000-2014, Rasterdesign, MapGuide, Autodesk Topobase, VS6, VS.net 2013
|
erstellt am: 31. Jan. 2007 17:01 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, es haben mittlerweile doch einige ein gewisses Interesse hier und per PM (war gar nicht so gedacht) bekundet. Konkrete Fragen wie es jetzt weiter geht waren keine dabei, bis auf die Tatsache das Klassen wohl nicht zum beliebsten Mittel in VB Programmen gehört. Dabei machen es einem Objektklassen einfacher ein Programm übersichtlicher, einfacher und struktuierter zu machen. Vergleicht man jetzt VB(A) mit früheren Basic Dialekten (QuickBasic) muss jeder zugeben das das Handling doch wesentlich einfacher geworden ist und man sich nicht mehr um jeden Tastendruck kümmern muss. Ähnlichen Fortschriit hat man durch die Verwendung von Klassen. Dadurch ist es Möglich die "Intelligenz" eines Programmes nicht nur auf eine Maske zu beschränken. Wer hat bei einem grösseren Projekt schon den Überblick was die Veränderung eines Wertes für Folgen auf andere Programmteile hat. Hier kann man nun schön mit eigenen Objektklassen arbeiten. Diese haben eigene EIgenschaften, Methoden, Funktionen und auch Events. Ich habe mal ein Beispiel angehängt. Hier fehlen z.B. noch die Eigneschaften/Methoden für die Berechnung des Umfanges und zurück. Eigentlich sollte jeder in der Lage sein diese zu ergänzen, oder? Fragen ?? Stelli
------------------ Warum lisp'eln wenn's auch anders geht. www.ib-stelberg.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stelli1 Moderator Verm.-Ing.
Beiträge: 1521 Registriert: 17.08.2005 Map 2000-2014, Rasterdesign, MapGuide, Autodesk Topobase, VS6, VS.net 2013
|
erstellt am: 31. Jan. 2007 17:04 <-- editieren / zitieren --> Unities abgeben:
|
startrek Moderator Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 01. Feb. 2007 20:42 <-- editieren / zitieren --> Unities abgeben: Nur für Stelli1
Hallöle, ... weil's grade nen Error bei 'Abbrechen' gab ... folgender klitzekleiner Änderungsvorschlag;-)
Code:
Private Sub BT_File_Click() Dim vlst_Datei As Variant [...] ' Wenn Datei gewählt If vlst_Datei <> False Then ' öffnen og_ExcelApp.Workbooks.Open vlst_Datei [...] End Sub
lg NancyEine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Metallbaukonstrukteur/in Metallbauplaner/in (m/w/d) | Die Müssig AG ist einer der führenden und innovativen Geländer-Hersteller in der deutschsprachigen Schweiz. Für den Ausbau der technischen Abteilung sind wir auf der Suche nach einem/r Metallbaukonstrukteur/in Metallbauplaner/in (100%) Als Metallbaukonstrukteur/in lieben Sie die abwechslungsreichen Aufgaben und die vielen Möglichkeiten, sich in einem Projekt einzubringen.... | Anzeige ansehen | Projektmanagement |
|
Nepumuk Mitglied Entwicklungsleiter
Beiträge: 351 Registriert: 16.10.2004
|
erstellt am: 01. Feb. 2007 20:51 <-- editieren / zitieren --> Unities abgeben: Nur für Stelli1
Hi, Nancy war so nett, mir die Module und das Form aus der dvb zu exportieren. Dabei fiel mir folgendes auf: In der Routine zum füllen der Combobox wird der Fehler 381 erzeugt, wenn die Spalte A in der Tabelle keine Daten beinhaltet. Eine mögliche Lösung: Unbehandelte Fehler werden in die aufrufende Routine mitgenommen. Daher kann die Auswertung des Fehlers auch in dieser erfolgen. Beispiel, Fehler in die Aufrufroutine mitnehmen: Code: Private Sub GetExcelSpalten(vlco_Combobox As ComboBox) On Error Resume Next With og_ExcelWorksheet vlco_Combobox.List = og_ExcelApp.WorksheetFunction.Transpose( _ .Range(.Cells(1, 1), .Cells(1, .Columns.Count).End(-4159)).Value) End With End Sub
Und darin auswerten: Code: ' Combobox mit Excelspalten füllen GetExcelSpalten Com_Rechts If Err.Number <> 0 Then _ Err.Raise Number:=Err.Number, Description:="Keine Daten gefunden!"
Das setzt natürlich eine entsprechende Fehlerbehandlung in der Routine voraus. Also, Code: Sub Irgendeine On Error Goto Err_Exit . . . Exit SubErr_Exit: . . End Sub
------------------ Gruß Nepumuk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |