Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  Indirekte Adressierung

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 präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
Autor Thema:  Indirekte Adressierung (1079 mal gelesen)
naservus03
Mitglied



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

Beiträge: 97
Registriert: 20.03.2006

ACAD - alle Versionen

erstellt am: 17. Jun. 2008 16:37    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

Hai,

kann ich Werte über Werte von Variablen auslesen?

Bsp:
A0="User Metrics A0"
A1="User Metrics A1 (x Mal y)"
PaperName = "A0"

Nun will ich über die Variable Papername den Wert deren Inhalts auslesen - in diesem Fall also "User Metrics A0" erhalten. Hat PaperName den Wert A1, will ich den Wert "User Metrics A1 (x Mal y)" erhalten.

In anderen Programmiersprachen geht das mit Eval oder evaluate oder indirekt....steh voll auf der Leitung

Danke

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

KlaK
Ehrenmitglied V.I.P. h.c.
Dipl. Ing. Vermessung, CAD- und Netz-Admin



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

Beiträge: 2855
Registriert: 02.05.2006

AutoCAD LandDesktop R2 bis 2004
Civil 3D 2005 - 2025
Plateia, Canalis
Visual Basic

erstellt am: 17. Jun. 2008 17: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 naservus03 10 Unities + Antwort hilfreich

Hallo,

so ganz genau weiß ich ja nicht was Du machen möchtest.

Schau Dir doch mal diesen Artikel von Andreas an.

Mit dieser Routine kannst Du Dir die Papierformate eines Druckers holen und diese einer Liste zuweisen.

Wenn Du noch die verfügbaren Plotter (System und .pc3) brauchst, benützt Du diesen

Code:
Dim plotDevices As Variant
plotDevices = Layout.GetPlotDeviceNames()

Die tatsächlichen Blattgrößen kannst Du durch Setzen von
  Layout.CanonicalMediaName = mediaNames(x)
und Abrufen über
  Layout.GetPaperMargins MarginLowerLeft, MarginUpperRight 'Ränder
  Layout.GetPaperSize PaperWidth, PaperHeight              'Breite, Höhe
erhalten.

Grüße,
Klaus

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

naservus03
Mitglied



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

Beiträge: 97
Registriert: 20.03.2006

ACAD - alle Versionen

erstellt am: 17. Jun. 2008 18:07    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

Danke für die Info.
Eigentlich geht es mir nicht direkt um die Drucker und die Layoutnames, sondern vielmehr um diese Technik allgemein:

Eine Variable hat einen Wert, der eigentlich eine Variable ist, und den Wert der 2. Variablen will ich über den Wert der ersten auflösen.............

Var1=A
Var2=B
usw
X = Var2

Wert = eval(X)  ...oder so...

Damit sollte in der Variable Wert der Wert der Variablen Var2 also B stehen...


....
Danke


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

fuchsi
Mitglied
Programmierer c#.net Datawarehouse


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

Beiträge: 1201
Registriert: 14.10.2003

AutoCad Version 2012 deu/enu
<P>Windows 7 64bit

erstellt am: 18. Jun. 2008 13:00    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 naservus03 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von naservus03:
Danke für die Info.
Eigentlich geht es mir nicht direkt um die Drucker und die Layoutnames, sondern vielmehr um diese Technik allgemein:

Eine Variable hat einen Wert, der eigentlich eine Variable ist, und den Wert der 2. Variablen will ich über den Wert der ersten auflösen.............

Var1=A
Var2=B
usw
X = Var2

Wert = eval(X)  ...oder so...

Damit sollte in der Variable Wert der Wert der Variablen Var2 also B stehen...


....
Danke


Also so ist mir das in VBA nicht möglich (in Lisp gehts)
Das ist aber sowieso unschön.

Wie füllst Du den die Werte für A0 A1 A2 usw.
Die würde ich eher in iner Collection schreiben, und hier gezielt über einen KEY zugreifen.

Ich verwende dazu ganz gerne das Microsoft Scripting.dictionary
(also einen Verweis auf Microst Scripting Runtime scrrun.ddl sezten)

    Dim Formate As New Scripting.Dictionary

    Call Formate.Add("A0", "User Metrics A0")
    Call Formate.Add("A1", "User Metrics A1")
    Call Formate.Add("A2", "User Metrics A2")
    Call Formate.Add("A3", "User Metrics A3")


    PaperName = "A2"
    PaperNameText = Formate(PaperName)

------------------

Ing. Anton Fuchs
WWW.FFZELL.AT.TC

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

naservus03
Mitglied



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

Beiträge: 97
Registriert: 20.03.2006

ACAD - alle Versionen

erstellt am: 19. Jun. 2008 14: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

Danke für die Info.
Das klingt am schönsten und werd ich auch verwenden...

Danke

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