VBS otwieranie/pobieranie pliku

0

Witam,

poniżej kawałek kodu, który otwiera okienko do wyboru plik ale jeśli plik nie zostanie wybrany ma wyświetlić komunikat aby wybrać plik.
ma dziać się to w kółko dopóki plik nie zostanie wybrany.
niestety wywala mi błąd w pętli przy file = ... , że "Zmienna obiektowa nie jest ustawiona"

Dim file : Set file = shell.BrowseForFolder(0, "Wybierz plik:", &H4000, "Ścieżka do pliku" )
 
 
 if file is nothing then
  Do 
  MsgBox("Nie wybrano szablonu. Wybierz szablon ponownie")
  file = shell.BrowseForFolder(0, "Wybierz plik:", &H4000, "Ścieżka do pliku" )
  Loop While file is nothing
  end if
0

Wywal Set

0

wywołujesz metodę na obiekcie shell którego nie masz:

set shell = CreateObject("shell.application")
Do 
	Set file = shell.BrowseForFolder(0, "Wybierz plik:", &H4000, "Ścieżka do pliku" )
loop while file is nothing  
msgbox file.self.path
set file = nothing
set objShell = nothing
0

Witam,

Panczo działa ale z jednak z małym 'ale'.
Mianowicie kiedy zaznaczę plik do wyboru i kliknę OK to wywali komunikat z msgbox a następnie błąd - Wymagany jest obiekt: 'file'

Chyba pośpieszyłem się z tym komentarzem o błędzie. Dam znać później czy to to czy co innego.

Panczo dzięki za naprowadzenie.

Troszkę zmodyfikowałem to co podesłałeś i działa tak jak chciałem.

 Set shell = CreateObject("Shell.Application")
  Do
  Set file = shell.BrowseForFolder(0, "Wybierz plik:", &H4000, "\\192.168.1.8\Simple\RODO_wysylka\Szablony\" ) 
  if file is nothing then
  MsgBox("Nie wybrano szablonu. Wybierz szablon ponownie")
  end if
  Loop While file is nothing
  set objShell = nothing 

1 użytkowników online, w tym zalogowanych: 0, gości: 1