Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  VB Programm als VBA ?!?!

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:  VB Programm als VBA ?!?! (2113 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: 23. Feb. 2004 16:17    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 dieses Programm von einem VB Programmierer bekommen und möchte dies gerne in AutoCAD einsetzen.
Mein Problem:

(filDateiAuswahl.pattern) = txtEingabe01.Text & txtEingabe02.Text & "*.dwg"

IN VBA erkennt das Programm nicht das pattern.

In diesem Programm sind 2 Textfelder vorhanden, die erste für den Pfad und die zweite für die Datei

LM123456  LM Pfad
LM123456  Dateiname

Es soll nach dem ausführen von CMDSUCHEN in einem Listbox die Dateien, die er in diesem bestimmten Verzeichnis gefunden hat, auflisten.

Und durch markieren der Datei in dem Listbox und dem Commandofeld CMDOEFFNEN soll diese Datei geöffnet werden.

DAS PROGRAMM:
=============


Option Explicit

Private Sub cmdSchließen_Click()
    End
End Sub

Private Sub cmdÖffnen_Click()
    Dim dummy
    lblFehler.Caption = "Öffne " & txtEingabe01.Text & filDateiAuswahl.FileName
    dummy = Shell("C:\Programme\MDT6\acad.exe " & filDateiAuswahl.Path & "\" & filDateiAuswahl.FileName, vbNormalNoFocus)
End Sub

Sub cmdSuchen_Click()
    lblFehler.Caption = ""
    If txtEingabe02.Text <> "" Then
    txtEingabe02.Text = UCase(txtEingabe02.Text)
    (filDateiAuswahl.pattern) = txtEingabe01.Text & txtEingabe02.Text & "*.dwg"
  Else
    lblFehler.Caption = "Fehlende Eingabe!"
    txtEingabe02.SetFocus
  End If
End Sub

Private Sub Form_Unload(Cancel As Integer)  'Ende
    Cancel = True
    Me.Hide
End Sub

Private Sub txtEingabe01_LostFocus()  'Wenn das 1. Eingabefeld verlassen wird....
    lblFehler.Caption = ""
    If txtEingabe01.Text <> "" Then
        txtEingabe01.Text = UCase(txtEingabe01.Text)  'Umwandeln in Großbuchstaben
        Select Case txtEingabe01.Text
 
    Case "E-"
    Dateiname = Dir$("M:\Archiv\Werkzeuge\Einzelkomponenten*.*") 'Verzeichnis und Datei
 
    Case "I-"
    Dateiname = Dir$("M:\Archiv\Werkzeuge\Identwerkzeuge\*.*") 'Verzeichnis und Datei
   
    Case "V-"
    Dateiname = Dir$("M:\Archiv\Vorrichtungen\Allgemein*.*") 'Verzeichnis und Datei
   
    Case "VE"
    Dateiname = Dir$("M:\Archiv\Vorrichtungen\Einzelkomponenten*.*") 'Verzeichnis und Datei
 
    Case "H-"
    Dateiname = Dir$("M:\Archiv\Vorrichtungen\Hilfsvorrichtungen*.*") 'Verzeichnis und Datei
 
    Case "MA"
    Dateiname = Dir$("M:\Archiv\Vorrichtungen\Montagevorrichtungen*.*") 'Verzeichnis und Datei
   
    Case "LM"
    Dateiname = Dir$("M:\Archiv\Pruefmittel\Konstr_Messmittel*.*") 'Verzeichnis und Datei
   
    Case "LZ"
    Dateiname = Dir$("M:\Archiv\Pruefmittel\Messblatt*.*") 'Verzeichnis und Datei
   
    Case "L-"
    Dateiname = Dir$("M:\Archiv\Pruefmittel\Messmittel*.*") 'Verzeichnis und Datei
   
        Case Else
            lblFehler.Caption = "Falsche Eingabe!"
            txtEingabe01.SetFocus
            txtEingabe01.SelStart = 0
            txtEingabe01.SelLenght = Len(txtEingabe01.Text)
        End Select
    Else
        lblFehler.Caption = "Fehlende Eingabe!"
        txtEingabe01.SetFocus
    End If
End Sub

     
     
  Do While Dateiname <> ""
  ActiveCell.Offset(i, 0) = Dateiname
  i = i + 1
  Dateiname = Dir$()
  Loop

  lstAnzeige01 = Dir$ + txtEingabe02
 
End Sub

Private Sub Label1_Click()

End Sub

Private Sub filDateiAuswahl_Click()

End Sub

Ich hoffe, das jemand dafür eine Lösung hat.

Danke Euch im voraus.

Bis dann
Feyza

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

BloodyMess
Mitglied
Applicationingenieur


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

Beiträge: 604
Registriert: 06.06.2002

AutoCAD Map 3D 2005
Win XP pro

erstellt am: 23. Feb. 2004 20:48    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

Hallo Feyca,

probier mal anstatt

Code:

(filDateiAuswahl.pattern) = txtEingabe01.Text & txtEingabe02.Text & "*.dwg"

... ohne Klammern

Code:

filDateiAuswahl.pattern = txtEingabe01.Text & txtEingabe02.Text & "*.dwg"

Gruß TP

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. Mrz. 2004 12:57    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 BloodyMess,

leider hat dies nicht funktioniert.
Da VBA nicht das pattern kennt.

Danke.
Feyza

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

mapcar
Mitglied
CADmin



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

Beiträge: 1250
Registriert: 20.05.2002

Die Phönizier haben das Geld erfunden - aber warum so wenig?
(Johann Nepomuk Nestroy)

erstellt am: 25. Mrz. 2004 21:53    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

Hab ich jetzt Tomaten auf den Augen? Was ist denn überhaupt filDateiAuswahl? Da es offensichtlich einen Click-Event hat, muss es wohl ein Control sein - aber was denn für eins? Ich vermute einfach mal, dass es daran liegt, dass ds Control gar nicht vorhanden ist - sonst würde es ja die Property pattern akzeptieren.

Also, schau mal nach, was es ist.

Gruß, Axel

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

Meine AutoLisp-Seiten
Meine private Homepage
Mein Angriff auf dein Zwerchfell
Mein Lexikon der Fotografie
Mein gereimtes Gesülze
Meine Überzeugung...

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

daywa1k3r
Ehrenmitglied V.I.P. h.c.
Softwareentwickler



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

Beiträge: 3497
Registriert: 01.08.2002

erstellt am: 26. Mrz. 2004 07: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 Nur für Feyza 10 Unities + Antwort hilfreich

filDateiAuswahl ist eine FileListBox die in VBA nicht vorhanden ist, und damit desen Eigenschaft Pattern auch nicht. Ich habe auch auf die schnelle nichts gefunden, dass ich includen kann, so dass Steuerelement verfügbar wird (zumindest im Inventor nicht).

------------------
Grüße daywa1k3r

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

mapcar
Mitglied
CADmin



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

Beiträge: 1250
Registriert: 20.05.2002

Die Phönizier haben das Geld erfunden - aber warum so wenig?
(Johann Nepomuk Nestroy)

erstellt am: 26. Mrz. 2004 10:52    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

Also hab ich das wohl doch richtig gesehen. Dann gibt's zwei Möglichkeiten:

a) Normale Listbox verwenden, Dateien mit dir auslesen
b) Sich was über die WinAPI holen

Gruß, Axel

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

Meine AutoLisp-Seiten
Meine private Homepage
Mein Angriff auf dein Zwerchfell
Mein Lexikon der Fotografie
Mein gereimtes Gesülze
Meine Überzeugung...

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: 06. Apr. 2004 17:33    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 Axel,

ich habe schon ein LISTBOX benutzt.
Nur kriege ich es nicht hin, die in diesem Programm umzusetzen.

Kannst Du mir vielleicht eine Möglichkeit schreiben,
wie man diese Programm ausführen könnte?!

Danke
Feyza

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

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: 06. Apr. 2004 19:39    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


test.dvb.txt

 
Abend,

mal im Anhang ein bissel geänderter Code, war ursprünglich
in einer Beispiel xls, habs mal versucht unter acad zu laufen zu bringen, wenns nicht geht, bitte nicht hauen ;;;-)))
Im BasMain habe ich eine Funktion auskommentiert, sowie im Demo das with Sheet1
UF1 [sollte] in der Listbox alle *.dwg Files des gewählten Directories enthalten.
Hoffe es klappt ...
... and heaven&hell, please don't ask me about the code 

ahhsoo nochwas, ich hoffe auf sowas in der Art wolltest Du in etwa hinaus

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: 07. Apr. 2004 08:58    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


Datei_oeffnen.dvb.txt

 
Hallo Nancy,

danke für deinen Eintrag.

In dem vba muss man manuell den Pfad eingeben.
Bei mir soll es gleich durch die Eingabe von Testfeld1 der Pfad schon vorgeben werden.
Ich füge zusätzlich noch das dvb zu.

mfg
Feyza

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

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: 07. Apr. 2004 14:51    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


feyza.dvb.txt

 
Hi Feyza,

ansatzweise nur ... and I'm alles andre als perfekt,
musst halt noch bissel probieren.

BTWBy the way = Nebenbei bemerkt, nette Systeminfo 

CUSee you = Wir sehen uns Nancy
--
Option Explicit
Public dateiname$, pfad$
Private Sub cmdSchließen_Click()
    Unload Me
End Sub

Private Sub cmdÖffnen_Click()
    Dim dummy, i
      For i = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(i) Then _
        lblFehler.Caption = "Öffne " & pfad & ListBox1.List(i)
      Next
    'dummy = Shell("C:\Programme\MDT6\acad.exe " & filDateiAuswahl.Path & "\" & filDateiAuswahl.FileName, vbNormalNoFocus)
End Sub

Private Sub cmdSuchen_Click()
    lblFehler.Caption = ""
  If txtEingabe02.Text <> "" Then
    txtEingabe02.Text = UCase(txtEingabe02.Text)
    ListBox1.AddItem txtEingabe01.Text & txtEingabe02.Text & "*.dwg"
  Else
    lblFehler.Caption = "Fehlende Eingabe!"
    txtEingabe02.SetFocus
  End If
End Sub

Private Sub txtEingabe01_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  Dim flag1 As Boolean
    lblFehler.Caption = ""
    If txtEingabe01.Text <> "" Then
        txtEingabe01.Text = UCase(txtEingabe01.Text)  'Umwandeln in Großbuchstaben
        Select Case txtEingabe01.Text

    Case "E-"
    pfad = "c:\dummy\" 'Verzeichnis und Datei

    Case "I-"
    pfad = "c:\dummy\block\" 'Verzeichnis und Datei

        Case Else
            flag1 = True
            lblFehler.Caption = "Falsche Eingabe!"
            txtEingabe01.SetFocus
            txtEingabe01.SelStart = 0
            txtEingabe01.SelLength = Len(txtEingabe01.Text)
        End Select
    Else
        lblFehler.Caption = "Fehlende Eingabe!"
        txtEingabe01.SetFocus
    End If

  If flag1 = False Then
  dateiname = Dir(pfad & "*.*")
    Do While dateiname <> ""
      ListBox1.AddItem dateiname
      dateiname = Dir
    Loop
  End If
 
End Sub

Private Sub UserForm_Initialize()
txtEingabe01.Text = ""
txtEingabe02.Text = ""
ListBox1.Clear
End Sub
                     

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: 07. Apr. 2004 15:38    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 Nancy,

Danke Dir vielmals : )

Ich glaube, jetzt werde ich das noch irgendwie hinbekommen : )

INFO:
Also er bringt ohne eine Fehlermeldung Dateien aufgelistet, in dem Verzeichnis, wo ich vorher gearbeitet habe.
Öffnen kann ich leider diese Dateien auch nicht.
Er merkt sich die Benennung, die ich eingegeben habe, und wenn ich dann auf Öffne gehe, zeigt er unten Öffne (Dateinamen).
Aber da tut sich nichts.

Aber Hauptsache war es, das er in der Listbox was auflistet : )) !!

Danke nochmals
Feyza

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

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: 07. Apr. 2004 15:50    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

Hi Feyza,

na hooookay 

Wg. dem Öffnen noch:

'dummy = Shell("C:\Programme\MDT6\acad.exe " & filDateiAuswahl.Path & "\" & filDateiAuswahl.FileName, vbNormalNoFocus)

na diiieee Zeile hatte ich auskommentiert.
Müsste ungetestet etwa so tun sollen:

dummy = Shell("C:\Programme\MDT6\acad.exe " & pfad & ListBox1.List(i))

lg Nancy

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