Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  Parameterwerte von Blöcken ändern

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
Autor Thema:  Parameterwerte von Blöcken ändern (929 mal gelesen)
woppi
Mitglied
cnc-programmierung


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

Beiträge: 65
Registriert: 16.01.2009

Acad Architecture 2020

erstellt am: 14. Jan. 2019 11:09    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,
ich habe da ein Problem beim Zuweisen von Parameterwerten in dynamischen Blöcken.

Wenn ich in meinem Code die Zeile:

Code:
DynBloProp.Value=500#

einbaue klappt alles wunderbar.
Aber die "500" würde ich gerne durch eine Variable ersetzen die ich in einer Inputbox Abfrage:
Code:

Parmater_Wert_neu = InputBox(Prompt:="Für den Block: " & ListBox1.Value + Chr$(13) + "einen neuen Wert für " & ListBox2.Value & " eingeben." + Chr$(13) + "(alter Wert: " & ListBox3.Value & ")", Title:="Neuen Wert eingeben")
DynBloProp.Value = Parmater_Wert_neu


Aber so funktioniert die Zuweisung des Wertes leider nicht.
Ich weiß, es hat etwas mit dem „#“ zu tun, aber leider fehlen mir da noch ein paar Grundlagen bei ACAD VBA.
Es wäre nett wenn mir da einer auf die Sprünge helfen könnte.

LG Woppi

PS. der neue Wert kann Zahlen oder auch Text einhalten, deswegen habe ich "Parmater_Wert_neu" so declariert:

Code:
Dim Parmater_Wert_neu As Variant
 

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: 2624
Registriert: 02.05.2006

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

erstellt am: 14. Jan. 2019 14:08    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 woppi 10 Unities + Antwort hilfreich

Hallo Woppi,

Änderst Du Werte in Blöcken oder Blockreferenzen? Sprich die Blockbeschreibung oder den eingefügten Block?
Wie ist der Wert in der Blockdefinition definiert? Sind dort sowohl Zahlen als auch Texte zugelassen?
Ich habe mich noch nicht so ausführlich mit dyn. Blöcken beschäftigt aber evtl. ist das ja ein Problem.

InputBox gibt ja prinzipiell einen Text zurück
Dem Code würde ich entnehmen dass der Block hier einen Doublewert erwartet, das Zeichen # veranlasst VBA dazu diese Konvertierung automatisch zu machen. Um einen Stringwert in einen Doublewert umzuwandeln kannst Du dazu die CDbl()-Funktion verwenden
Bringt diese Funktion einen Fehler (weil Text oder nichts eingegeben wurde) weißt Du ja dass hier ein Text eingegeben wurde.
Also am besten vor dem CDbl ein "On Error resume next" und danach "If Err then ..."

Grüße
Klaus 

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

woppi
Mitglied
cnc-programmierung


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

Beiträge: 65
Registriert: 16.01.2009

Acad Architecture 2020

erstellt am: 14. Jan. 2019 16:30    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 Klaus,

du hast genau richtig vermutet!
Ich habe bei den Parametern, bei denen eine Zahl erwartet wird die Funktion CDbl() eingebaut, und alles funktioniert wie gewünscht!

Super!!

Vielen Dank,

Gruß Woppi

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