Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  Block einfügen - Benutzereingabe ist ein Schlüsselwort soll weg

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 Technologies Quadro auf der Hannovermesse 31.03.-04.04.2025 | Hall 17, Stand F16, eine Veranstaltung am 31.03.2025
Autor Thema:  Block einfügen - Benutzereingabe ist ein Schlüsselwort soll weg (2268 mal gelesen)
Feyza
Mitglied



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

Beiträge: 605
Registriert: 12.01.2004

AutoCAD Mechanical 2017 - Oracle Client 10.2

erstellt am: 24. Nov. 2009 14:11    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 Zusammen,

ich hoffe Ihr könnt mir hier weiterhelfen:

In AutoCAD Mechanical 2008 habe ich ein VBA Script, wo mir ein Block aus einer Datei, die ich mir in einer Listbox aufliste einfügen soll:

Me.Hide

Dim einfuege As Variant
Dim name As String
Dim blockref As AcadBlockReference
Dim importfile As String
importfile = List1
On Error GoTo errorhndl

    name = lblFileNameBox

    einfuege = ThisDrawing.Utility.GetPoint(, "Bitte den Einfügepunkt für Block " & " wählen")

    Set blockref = ThisDrawing.ModelSpace.InsertBlock(einfuege, importfile, 1, 1, 1, 0)

errorhndl:
    If Err.Number = "-2145386445" Then
      Set blockref = ThisDrawing.ModelSpace.InsertBlock(einfuege, importfile, 1, 1, 1, 0)
    Else
      MsgBox (Err.Description)
    End If
   
Me.Show

Führe ich diesen VBA-Script aus, wähle die Datei in der Listbox und möchte diese einfügen, kommt zuerst die Meldung "Benutzereingabe ist ein Schlüsselwort" klicke dann auf OK, dann wieder einfügen, der Block wird eingefügt, dann kommt ein Mgsbox, die leer ist. Der Block ist zwar in der Zeichnung drinnen, aber wie bekomme ich die Meldungen weg?

Danke für jede Unterstützung

------------------
Schöne Grüße
Feyza : )

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


Ex-Mitglied

erstellt am: 24. Nov. 2009 14:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

ohne Form dahinter kann ich mal nicht erkennen, wo's hakt. Was aber ein Unsicherheitsfaktor ist, Du verläßt Dich auf 'Default'-Eigenschaften von Form-Controls und ob die das retournieren, was Du wünscht?

Z.B. importfile = List1

Wir sehen hier nicht, was 'List1' ist, sollte es eine Listbox sein, dann klick diese mal in Deinem Form-Designer an, dann schau in die Eigenschaften, wie viele Eigenschaften diese Listbox hat! Daraus zu schliessen, dass nach Ablauf Deines Codes in der Variable <importfile> dann aus den vielen Eigenschaften gerade der Textwert des selektierten Items steht, ist mutig!

Mach mal in Einzelschritten den Ablauf des Codes durch und schau Dir nach jedem Schritt die Werte der jeweils gesetzten Variablen an, ob die mit dem übereinstimmen, was Du Dir vorstellst.

Für mehr Inputs habe ich von Dir leider zu wenig Output. 

- alfred -

------------------
www.hollaus.at

startrek
Moderator
Architekt


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

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 24. Nov. 2009 14:47    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 Feyza 10 Unities + Antwort hilfreich

Nenne auch mal: 'dim name as string' anders,
muss nicht daran liegen, nur vorsichtshalber ;-)

lg Nancy

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

Feyza
Mitglied



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

Beiträge: 605
Registriert: 12.01.2004

AutoCAD Mechanical 2017 - Oracle Client 10.2

erstellt am: 25. Nov. 2009 08:14    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


Block_einfuegen_04.zip

 
@a.n.

Guten Morgen alfred,
danke Dir für die Antwort.

Wenn ich in der Listbox die Datei anklicke, tut er mir auch die richtige Datei einfügen.

Ich habe das VBA-Script mit angehängt. Vielleicht sieht man hier mehr : )

@startrek
Guten Morgen nancy,

Danke auch die für deine Anwtort. leider hat das umbennen von "name" nichts gebracht : )

------------------
Schöne Grüße
Feyza : )

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


Ex-Mitglied

erstellt am: 25. Nov. 2009 13:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

'List1' verweist auf ein Element der Bibliothek 'F3Dynamic' (die ich natürlich nicht habe )

Wenn ich mal den Code soweit modifiziere, dass ich mit bekannten Werten arbeite, dann funktioniert das ganze.

Code:
Private Sub cmdEinfügen_Click()

'Me.Hide

Dim einfuege As Variant

'Dim name_01 As String

Dim blockref As AcadBlockReference
Dim importfile As String
importfile = "C:\TEMP\OoC_OEKK_TestObjects_AN03.dwg"
On Error GoTo errorhndl

    'name_01 = lblFileNameBox

    einfuege = ThisDrawing.Utility.GetPoint(, "Bitte den Einfügepunkt für Block " & " wählen")

    Set blockref = ThisDrawing.ModelSpace.InsertBlock(einfuege, importfile, 1, 1, 1, 0)

errorhndl:
    If Err.Number = "-2145386445" Then
      Set blockref = ThisDrawing.ModelSpace.InsertBlock(einfuege, importfile, 1, 1, 1, 0)
    Else
      MsgBox ("123" & Err.Description)
    End If
   
'Me.Show

End Sub


Sprich alles Form-basierende raus ('Me.Show' und 'Me.Hide'), dann die Variable 'Name_01' raus, wird ja nicht verwendet; und zuletzt noch der Variablen 'importfile' einen bei mir existierenden Dateinamen verpasst (weil ich ja keinen Zugriff auf Dein 'list1' hab und schon funkt alles wie gewünscht.

Sorry, mangels Möglichkeit Dein Problem zu reproduzieren bin ich (ohne weitere Info's) leider mal raus. 

- alfred -

------------------
www.hollaus.at

startrek
Moderator
Architekt


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

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 25. Nov. 2009 16:41    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 Feyza 10 Unities + Antwort hilfreich

Dieser 'Schlüsselwortfehler' irritiert mich,
versuche mal noch das Filename zu ändern,
auch wenn's evtl. nix bringen sollte, kein netter Variablenname ;-)

Code:
Private Sub List1_Click()
 
  cmdEinfügen.Enabled = True
  [...]
  Dim FileLen As Integer
  Dim FileName As String
  [...]
    FileName = List1 ' Dateinamen aus kompletten Pfad rauslesen
    lblFileNameBox.Caption = " " & FileName
   
    Call PaintPreview(List1)
   
End Sub

lg Nancy
[trekkedi: auf relev. Codeparts gekürzt und noch ein Link hinterher, allerdings gehts da um Getpoint, in wiefern eine falsche Benutzereingabe in einer UF mit Listbox diesen Fehler erzeugen könnte, weiss ich nur auch nicht: http://www.foren.industrie24.com/read.php?5,18542,18542#msg-18542
[/trekkedi]

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