Выбор одного файла -> выбор списка

Программирование для CATIA.

Выбор одного файла -> выбор списка

Сообщение ExtraRight » 28 июл 2009 12:47

Доброе время суток

Имеется CATVba, в нём закодирован интерфейс

Spoiler :
Код: Выделить всё
Create the command line to launch the MyBrowse JAR file to select a JT file
 '============================================================================
  Dim JRE_INSTALL
  JRE_INSTALL = regValue & "\jre\bin\java.exe"
  JRE_INSTALL = Chr(34) & JRE_INSTALL & Chr(34)

  Dim Browse_JAR
  Browse_JAR = regValue & "\lib\MyBrowse.jar"
  Browse_JAR = Chr(34) & Browse_JAR & Chr(34)

  Dim browse_cmd, browse_cmd1
  browse_cmd = JRE_INSTALL & " -jar " & Browse_JAR
  Dim dlgTitle
  dlgTitle = "Select JT File to Insert"
  dlgTitle = Chr(34) & dlgTitle & Chr(34)

 '===================================================================
 'Invoke the MyBrowse jar file to launch the JT File Selection dialog
 '===================================================================
  Dim tdiff
  tdiff = Len(sCurDir) - InStr(sCurDir, ":")
  'If the current directory is a root directory, then we pass it as an argument without quotes, else with quotes
  If tdiff = 1 Then
  browse_cmd1 = browse_cmd & " 0 0 false false " & dlgTitle & " " & sCurDir & " " & sCurDir
  Else
  browse_cmd1 = browse_cmd & " 0 0 false false " & dlgTitle & " " & sCurDir1 & " " & sCurDir1
  End If

  Dim x
  x = sh2.Run(browse_cmd1, 0, True)
 
 '=======================================
 'Determine the JT Filename to be opened
 '=======================================
  Dim JT_filename, sFile, sFile1, oFile, sText
  sFile = sCurDir & "\tempFile.txt"
  sFile1 = Chr(34) & sFile & Chr(34)

  If oFSO.FileExists(sFile) Then
   Set oFile = oFSO.OpenTextFile(sFile, 1, False)
   sText = oFile.ReadLine
   If Trim(sText) <> "" Then
     If InStr(sText, " ") = 0 Then
       JT_filename = sText
     Else
       JT_filename = Chr(34) & sText & Chr(34)
     End If
   Else
     MsgBox "The JT file selected could not be found.", vbCritical
     Exit Sub
   End If
   oFile.Close
   'Delete the tempFile.txt which was created by the JAR file
   '=========================================================
   oFSO.DeleteFile sFile, True
  Else
     MsgBox "The JT file selected could not be located.", vbCritical
     Exit Sub
  End If


Задача: сделать так, чтобы можно было выбрать не один файл, а список файлов или папку, в которой находится много файлов
Аватара пользователя
ExtraRight
Forum Manager
 
Сообщения: 1575
Зарегистрирован: 11 сен 2007 18:50
Откуда: Нижний Новгород
Blog: View Blog (8)

Re: Выбор одного файла -> выбор списка

Сообщение Sten » 28 июл 2009 18:15

А дальше чего? Логика скрипта работает с одним файлом, от того что ты ткнёшь в кучу файлов, ничего не изменится, даже если диалог тебе даст это сделать.
Sten
Moderator
 
Сообщения: 504
Зарегистрирован: 20 сен 2007 00:09

Re: Выбор одного файла -> выбор списка

Сообщение ExtraRight » 29 июл 2009 08:13

Прошу прощения за лишнее беспокойство - проблему решили вводом окошка для указания пути папки, где лежит куча файлов и затем зацикливанием действия над ними
Аватара пользователя
ExtraRight
Forum Manager
 
Сообщения: 1575
Зарегистрирован: 11 сен 2007 18:50
Откуда: Нижний Новгород
Blog: View Blog (8)

Re: Выбор одного файла -> выбор списка

Сообщение timkaam » 16 окт 2015 12:51

ExtraRight писал(а):Прошу прощения за лишнее беспокойство - проблему решили вводом окошка для указания пути папки, где лежит куча файлов и затем зацикливанием действия над ними

а может кто подскажет как сделать так, чтобы выскакивало окно виндовс и выбор папки через проводник, а не прописыванием пути в окошке?
timkaam
Новичок
Новичок
 
Сообщения: 69
Зарегистрирован: 02 дек 2014 16:15

Re: Выбор одного файла -> выбор списка

Сообщение Artem » 16 окт 2015 17:01

Код: Выделить всё
Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.BrowseForFolder(0, "test", 0)
MsgBox objFolder.self.Path
animae scrinium servitus
Аватара пользователя
Artem
Активный участник
Активный участник
 
Сообщения: 387
Зарегистрирован: 14 сен 2007 07:14

Re: Выбор одного файла -> выбор списка

Сообщение timkaam » 16 окт 2015 17:59

Artem писал(а):
Код: Выделить всё
Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.BrowseForFolder(0, "test", 0)
MsgBox objFolder.self.Path

вот спасибо, только проводник...какой-то урезанный...полную версию нельзя вызвать, с полем где избранное, сеть и прочее?
timkaam
Новичок
Новичок
 
Сообщения: 69
Зарегистрирован: 02 дек 2014 16:15

Re: Выбор одного файла -> выбор списка

Сообщение Wireless_Fidelity » 19 окт 2015 11:41

Неа. Можно поковыряться с WinApi, но не уверен, что оно того стоит.
Аватара пользователя
Wireless_Fidelity
Активный участник
Активный участник
 
Сообщения: 394
Зарегистрирован: 10 апр 2010 00:11


Вернуться в CAA-RADE

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2