• Dieses Forum ist die maschinengenerierte Übersetzung von www.cad3d.it/forum1 - der italienischen Design-Community. Einige Begriffe sind nicht korrekt übersetzt.

Erstellen Sie einen Text mit dem Wert einer Variablen im Text

  • Ersteller Ersteller Zio Penny
  • Erstellt am Erstellt am

Zio Penny

Guest
hallo alle

ich schaffe ein makro in vba, um flansche zu ziehen, indem ich variable werte aus einer excel-datei heraussauge, indem ich als beispiel die im forum vorhandenen beispiele (danke dafür!)

zwischen den zu lösenden problemen muss ich über dem flansch einen text (multiline oder mehr texte zu einer zeile und dergleichen) erstellen, der einen text innerhalb des wertes der variablen zurückbringt.
eine art schreibweise von strukturierten codes

z.b. innerhalb des codes i die variablen b,d,a (die variable q i muss den entwurfspunkt der späteren flansche verschieben)

ich wollte einen text schreiben.
flanschdicke = b '
flanschdurchmesser = 'd '
bohrdurchmesser = a '

ich drücke, dass der code und noch in der entwicklung (wie sie aus den kommentaren auf der liste sehen) weil ich den test auf eine abgeschlossen haben wollte, bevor eine schleife für mehr flansche.

irgendeine referenz oder idee?
 

Anhänge

jetzt habe ich keine autokaden in meiner hand, um die dvd zu sehen, aber was sie fragen, ich glaube nicht, dass es ein problem in der tat ist...

so was habe ich genau gemacht. aus einer externen dateilast und flanschkonstruktion, quoten und setzen sie die geometrischen daten des flansches mit der berechnung des gewichts aus allen löchern gereinigt. ich glaube nicht, dass das ein problem ist.

vielleicht können sie in der zwischenzeit durch den vorgestellten abschnitt gehen, so dass sie nicht einfach hierher kommen und nach einem zitat fragen.
 
cmq sah ihre untätigkeit nach dem posten ich verschwende nicht viel zeit darüber..

was du geschrieben hast, kann nicht funktionieren. .

a) eine autocad-excel schnittstelle ein minimum zu programmieren, das sie die grundlagen der vba sowohl für einen als auch für den anderen kennen müssen.

b)excel einmal öffnen sie müssen über, was blatt zu wetten

c).cells(1, a) bedeutet aus zwei gründen absolut nichts

1. zellen(1, eine) ist nicht die excel-säule, sondern eine variable, die sie bereits verwenden

2. zellen(1, a)der wert du musst sagen, was du nehmen willst

wenn sie eine cmq schleife wie oben geschrieben verwenden ist falsch

.zelleni), 1). wert, bei dem ich mit jeder schleife (d.h. zeile) verstrickt werden soll

dann... ich verdünne mich nicht, weil ich nicht viel zeit habe...

dies unten ist ein code, der funktioniert die schleife, aber absichtlich nicht den text ... einfügen einen text sucht in die hilfe der sprachtext oder mtext und sie werden sehen, dass es gut erklärt, was zu tun ist. .
Code:
Sub blf()
varin mit den kordinates der 4 punkte für blindflansch

Dim p1(0 bis 2) als Puppe
dim p2(0 bis 2) wenn doppelt
Dim p3(0 bis 2) als Doppel
Dim p4(0 bis 2) als Doppel
Dim p5(0 bis 2) als Doppel
Dim p6(0 bis 2) als Doppelpunkt
Dim p7(0 bis 2), wenn getaucht
Dim p8(0 bis 2), wenn getaucht
Dim p9(0 bis 2) als Doppel
Dim p10(0 bis 2), wenn getaucht
varin für abmessungen
Dim q als Doppel
, wenn man
dim b als Doppel
dim d if doppelt
'variable für autocad-objekte
dim entline als acadline
dim newlayer als acadlayer
dim layerblf(0 bis 2) als String
'variable für excel-objekte
dim ssetobj als acadselectionset
Dim segeln als ganze Zahl
dim strfilename als String

 [COLOR="Red"]dim excel als objekt

fehlerwiederaufnahme

set excel = getobject(, "excel.application")

wenn er 0)
err.clear
set excel = createobject("excel.application")

wenn er 0)
msgbox "kann nicht geladen excel.", vbexam
Ende
Ende
Ende
fehler goto 0

excel.visible = true
excel.workbooks.open ("c:\misure.xls")
set excelsheet = excel.activeworkbook.sheets("foglio1")[/COLOR]Layerblf(0) = "tubazioni"
Layerblf(1) = "assi"
Layerblf(2) = "testo"

diese zeichnung.layers.add layerblf(0)
diese zeichnung.layers.add layerblf(1)
diese zeichnung.layers.add layerblf(2)
q = 0


 [COLOR="Red"] und als Ganzes
= 1

do while excelsheet.cells(i, 1).value <> ""[/COLOR]' hier beginnt die schleife

 [COLOR="Red"] b = excelsheet.cells(i, 1).wert
d = excelsheet.cells(i, 2).value
a = excelsheet.cells(i, 3).value[/COLOR]p1(0) = q
p1(1) = 0
p1(2) = 0
p2(0) = q + b
p2(1) = 0
p2(2) = 0
p3(0) = q + b
p3(1) = d
p3(2) = 0
p4(0) = q
p4(1) = d
p4(2) = 0
p5(0) = q - 33
p5(1) = d / 2 - a / 2
p5(2) = 0
p6(0) = q + b + 33
p6(1) = d / 2 - a / 2
p6(2) = 0
p7(0) = q - 33
p7(1) = d / 2
p7(2) = 0
p8(0) = q + b + 33
p8(1) = d / 2
p8(2) = 0
p9(0) = q - 33
p9(1) = d / 2 + a / 2
p9(2) = 0
p10(0) = q + b + 33
p10(1) = d / 2 + a / 2
p10(2) = 0


neue schicht einstellen = thisdrawing.layers(layerblf(0))
Diese zeichnung. aktivlayer = newlayer


set entline = thisdraw.modelspace.addline(p1, p2)
set entline = thisdraw.modelspace.addline(p2, p3)
set entline = thisdraw.modelspace.addline(p3, p4)
set entline = thisdraw.modelspace.addline(p4, p1)

neue schicht einstellen = thisdrawing.layers(layerblf(1))
Diese zeichnung. aktivlayer = newlayer


set entline = thisdraw.modelspace.addline(p5, p6)
set entline = thisdraw.modelspace.addline(p7, p8)
set entline = thisdraw.modelspace.addline(p9, p10)
'scrittura del testo con le informazioni della flangia
neue schicht einstellen = thisdrawing.layers(layerblf(2))
Diese zeichnung. aktivlayer = newlayer



 [COLOR="Red"] i = i + 1
q = q + 200
Wie geht's?[/COLOR]'ende der schleife


' nach zeichnung ist zoom-extend

ende
zu ficken von hier und der code ist auch gut, aber zumindest müssen sie sich dorthin setzen, um zu verstehen, was man und warum.

ich empfehle eine gute lektüre zumindest der hilfe, bevor ich fortfahre, denn in diesem "programm" fehlt die auswahl eines insertionspunktes, jede art von fehlerkontrolle, ein zyklusmanagement... ich meine, alles fehlt.
zwischen den zu lösenden problemen muss ich über dem flansch einen text (multiline oder mehr texte zu einer zeile und dergleichen) erstellen, der einen text innerhalb des wertes der variablen zurückbringt.
wie oben erwähnt, sind die probleme sicherlich nicht bei der einfügung eines textes.
 
ich entschuldige mich, wenn ich nicht auftauchte, versuchte ich so schnell wie möglich. ich will nicht kommen, nehmen und fordern. ich habe in letzter zeit nur versucht, in vba zu schreiben. ich danke ihnen für die verfügbarkeit und beratung über die suche nach mtext und viel, es war nur dies die gerade ich suchte und klar, dass der rest sollte es selbst tun.
es wäre voreilig, nach dem code zu fragen, und es war nicht meine absicht (wie es scheint in der ursprünglichen anfrage geklärt zu haben). ich habe den code veröffentlicht, wie seine evolution ich mache, weil es mir offensichtlich erscheint, dass ich durch eine anfrage den code teilen sollte, wer eine ähnliche anwendung wollen könnte. es will nicht eine entschuldigung sein, aber es verbindet uns, wenn ich inhalte hinzufügen und kompatibel auf arbeitsbedürfnisse (ich habe kein internet an der arbeit).

über den fehler, platziert zu haben
b = excelsheet.cells(1, a) kommt aus der tatsache, dass ich das programm mit der formel mehr oder weniger korrekt (auf andere listen) b = excelsheet.cells(1, 1) ausgeführt habe und dass es fehler gab.
b = excelsheet.cells(1, a) ist ein versuch, das problem zu finden.

ich entdeckte in der woche, dass dieser fehler von einem autocad-problem von 2007 kam, das nicht die erstellung neuer menüs und syntax wie b = excelsheet.cells(1,1) erlaubt.
sogar nicht die fantomatische vba, um die kreise zu zeichnen!

an einer anderen stelle, die gestaltung eines einzigen flansches, mit den sinuszellen(1,1) deutlich korrigiert, gedreht.
 
ich entschuldige mich, wenn ich nicht auftauchte, versuchte ich so schnell wie möglich. ich will nicht kommen, nehmen und fordern. ich habe in letzter zeit nur versucht, in vba zu schreiben. ich danke ihnen für die verfügbarkeit und beratung über die suche nach mtext und viel, es war nur dies die gerade ich suchte und klar, dass der rest sollte es selbst tun.
...
ich weiß nicht, ob sie es gelöst haben oder sie andere zweifel haben.

wenn du willst, sind wir hier. :finger:
 

Statistik des Forums

Themen
58.521
Beiträge
499.056
Mitglieder
104.110
Neuestes Mitglied
ChristianR

Zurzeit aktive Besucher

Keine Mitglieder online.
Zurück
Oben