Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [VBScript] Vettore con nome file

    Ciao a tutti, ho bisogno di creare un vettore con dentro un intero percorso in ogni singola posizione.

    Vi riporto lo pseudocodice di quello che ho fatto fin ora, non riporto il codice perchè questa funzione sarà usata all'interno di rhinoceros, un cad che oltre a supportare i suoi comandi accetta VBS e magari vi posso confondere... CMQ

    Quanti file vuoi importare?: Leggi N
    For i=0 to N
    vet [i]=open file dialog
    next

    Praticamente fa un for, ma prima devo dirgli quanti file voglio passare.
    poi mi si apre N volte la finestra di apertura file e devo cliccare ogni singolo file...

    Ipotizzando che i file si chiamino fileXXX e la cartella prova al termine avrò
    in
    vet [0] = c:/prova/file000
    vet [1] = c:/prova/file001
    ...

    Come posso avere lo stesso risultato selezionando solo la cartella evitando di cliccare n volte file per file??
    O magari selezionando tutti i file insieme?
    Grazie mille

  2. #2
    Utente di HTML.it L'avatar di Mabi
    Registrato dal
    May 2002
    Messaggi
    1,245
    E' impensabile aprire N CommonDialog quanti sono i file.
    Ci sono i flags che ti vengono in aiuto e ti danno la possibilità di scegliere più file contemporaneamente.
    Nel tuo caso:

    codice:
    Dim Vettore() As String
    Dim Cartella As String
    Dim Cont As Integer
    
    'Gestione del Common Dialog
    With CommonDialog1
      .Flags = &H4 + &H200 + &H80000
      .ShowOpen
      Cartella = Left$(.FileName, InStr(1&, .FileName, vbNullChar) - 1&)
      Vettore = Split(Mid$(.FileName, InStr(1&, .FileName, vbNullChar) + 1&), vbNullChar)
    End With
    
    'Aggiunta della cartella al singolo file
    For Cont = 0 To UBound(Vettore)
      Vettore(Cont) = Cartella & "\" & Vettore(Cont)
    Next Cont
    
    'Visualizzazione degli elementi del vettore
    For Cont = 0 To UBound(Vettore)
      MsgBox Vettore(Cont)
    Next Cont
    Ciao
    ... e non usare while wend è una sintassi deprecata

  3. #3
    Mi da errore nelle dichiarazioni... ho provato a eliminare as string e passa avanti ma mi dice che nella riga

    codice:
      Cartella = Left$(.FileName, InStr(1&, .FileName, vbNullChar) - 1&)
    c'è un carattere non valido...
    Quale??

    Cmq per ora grazie mille, seis stato gentilissimo

  4. #4
    Utente di HTML.it L'avatar di Mabi
    Registrato dal
    May 2002
    Messaggi
    1,245
    Che errore hai nelle dichiarazioni?
    Non è sbagliato dichiarare una variabile come stringa.
    ... e non usare while wend è una sintassi deprecata

  5. #5
    mi dice semplicemente che c'è un errore li...
    x ora ho risolto prendendo tutti i file nella cartella specificata ma mi piacerebbe scegliere i file direttamente...
    ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.