| |  | 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 PRO Elite™ High Endurance microSD-Flash-Speicherkarten für Videoüberwachung und kontinuierliche Aufzeichnung, eine Pressemitteilung
|
Autor
|
Thema: Dateien aus Verzeichnis / Ordner einlesen (5090 mal gelesen)
|
Dirk.B Mitglied Tischler / Leiter Arbeitsvorbereitung
  
 Beiträge: 534 Registriert: 25.11.2003
|
erstellt am: 02. Jul. 2005 08:13 <-- editieren / zitieren --> Unities abgeben:         
Hallo Zusammen! Ich programmiere mir in VBA für AutoCAD einige kleine Tools. Nun möchte ich mir eine Block Vorschau basteln. Zu jeden Block wird eine Bild/Image Datei erzeugt (*.wmf oder *.bmp). Diese *.wmf Dateien befinden sich in dem Ordner C:\Bloecke. Ich möchte alle *.wmf Dateien zur Laufzeit in eine ListView Anzeige laden. Aus dieser ListView werden diese dann aus kleine Bildkachelungen in einem Frame angezeigt. Dieses Tool habe ich. Ich weiß nur nicht, wie ich die *.wmf Dateien aus dem Ordner C:\Bloecke in die ListView Anzeige bekomme. kann mir dabei jemand helfen. Code: Private Sub cmd2_Click() Dim NewImage As MSForms.Image Dim NewLabel As MSForms.Label On Error Resume Next LastTop = 10 LastLeft = 10 For i = 1 To ListView1.ListItems.Count Set NewImage = PreviewFrm.Frames1.Controls.Add("Forms.Image.1") NewImage.Height = 40 NewImage.Width = 40 NewImage.PictureSizeMode = fmPictureSizeModeZoom NewImage.BackColor =_ Application.Preferences.Display.GraphicsWinModelBackgrndColor Set NewImage.Picture = LoadPicture(Application.Preferences.Files.TempFilePath &_ ListView.ListItem(i).Text & ".wmf") NewImage.Left = LastLeft NewImage.top = LastTop PreviewFrm.ScrollHeight = LastTop + NewImage.Height + 30 If LastLeft + 50 > PreviewFrm.Width - 20 Then LastTop = LastTop + NewImage.Height + 30 LastLeft = 10 Else LastLeft = LastLeft + 50 LastTop = NewImage.top End If Next End Sub Vielen Dank im voraus. Gruß Dirk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BloodyMess Mitglied Applicationingenieur
  
 Beiträge: 604 Registriert: 06.06.2002 AutoCAD Map 3D 2005 Win XP pro
|
erstellt am: 02. Jul. 2005 11:33 <-- editieren / zitieren --> Unities abgeben:          Nur für Dirk.B
Hallo Dirk, - Verweis auf 'Microsoft Scripting Runtime' setzen - Das 'Listview1' muss in 'userform1' vorhanden sein. Fehlerbehandlung musst Du Dir alleine einbauen. Code: Sub test()Dim oFolder As Scripting.Folder Dim oFile As Scripting.File Dim FSO As New FileSystemObject Set oFolder = FSO.GetFolder("C:\Bloecke") Dim oItem As ListItem With UserForm1.ListView1 .View = lvwReport .ColumnHeaders.Clear .ListItems.Clear .ColumnHeaders.Add , , "DateiPfad" End With For Each oFile In oFolder.Files If VBA.Right(oFile.Name, 4) = ".wmf" Or _ VBA.Right(oFile.Name, 4) = ".bmp" Then Set oItem = UserForm1.ListView1.ListItems.Add(, , oFile.Name) End If Next oFile UserForm1.Show End Sub
Schönes Wochenende Gruss TP ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dirk.B Mitglied Tischler / Leiter Arbeitsvorbereitung
  
 Beiträge: 534 Registriert: 25.11.2003
|
erstellt am: 03. Jul. 2005 19:21 <-- editieren / zitieren --> Unities abgeben:         
Hallo TP! Vielen Dank für Deine Hilfe, hat mir sehr geholfen. Ich habs leicht ändern müssen aber so gehts. Private Sub UserForm_Initialize() Dim fs, f, f1, fc Set fs = CreateObject("Scripting.FileSystemObject") Set f = fs.GetFolder("K:\3D_Ladenbau\3D_Bloecke\Hakenteile") Set fc = f.Files Dim oItem As ListItem With UserForm1.ListView1 .View = lvwReport .ColumnHeaders.Clear .ListItems.Clear .ColumnHeaders.Add , , "Datei Name" End With For Each f1 In fc If VBA.Right(f1.Name, 4) = ".wmf" Then Set oItem = UserForm1.ListView1.ListItems.Add(, , f1.Name) End If Next End Sub Gruß
Dirk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |