Поиск в файле Excel - VB
Формулировка задачи:
Всем привет.
Надо бы как то написать программку с интерфейсом типа 6-7 кнопок, одна строка для ввода текста. И должна она искать то что вводишь в поле в 2х файлах Exel, а после того как нашлось совпадение подать содержимое 30го столбца i-ой строки на программу просмотрщика изображений .tif.
Так сказать электронный каталог изображений.
Есть уже готовый фу скрипт на vba, но в vbs не знаю как переделать.
Либо на какойто другой язык, чтобы работало поверх окон и вот так красиво, чтобы не запускать эксель каждый раз.
вот код из vba
чтобы потом просто конвертануть или как то скомпилить в .exe
Листинг программы
- Sub viewe() 'просмотр из любой ячейки книги кд либо СБ либо детальных,но не спецификаций
- On Error Resume Next
- Dim n As String, m As String, m1 As String, v As String
- Dim z As Range, a As Range
- Dim s, w
- m = ActiveCell
- 'm = Cells(ActiveCell.Row, ActiveCell.Column)
- If m = "" Then
- MsgBox "В ячейке пусто!", vbExclamation
- Exit Sub
- End If
- 'если документа с исполнением нет в БД искать(базовый документ) без исполнения
- '==>
- If InStr(1, m, "-") > 0 Then
- m = Left(m, InStr(1, m, "-") - 1)
- End If
- '<==
- '=====================================================================================================
- n = "N:\_7_Все_карточки\Карточки.xlsm"
- Set s = GetObject(n)
- m1 = m + "СБ"
- Set z = s.Worksheets(1).Cells.Find(What:=m1, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows)
- If z Is Nothing Then
- Set z = s.Worksheets(1).Cells.Find(What:=m, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows)
- End If
- If z Is Nothing Then
- n = "N:\_7_Все_карточки\Предварительный архив.xlsm"
- Set s = GetObject(n)
- Set z = s.Worksheets(1).Cells.Find(What:=m1, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows)
- ' MsgBox "z= " & z
- If z Is Nothing Then
- Set z = s.Worksheets(1).Cells.Find(What:=m, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows)
- End If
- End If
- If z = "" Then
- MsgBox "Номер нигде не найден!", vbExclamation
- Exit Sub
- End If
- ipage = 30
- arrStr = Split(s.Worksheets(1).Cells(z.Row, ipage), "!")
- x = 0
- x = Shell("C:\Program Files (x86)\IrfanView\i_view32.exe " & "n:\_8_Все_tif" & arrStr(0), vbNormalFocus)
- x = Shell("c:\Program Files\IrfanView\i_view32.exe " & "n:\_8_Все_tif" & arrStr(0), vbNormalFocus)
- If x > 0 Then Exit Sub 'Если IrfanView не установлен, открываем XnView
- x = Shell("C:\Program Files (x86)\XnView\xnview.exe " & "n:\_8_Все_tif" & arrStr(0))
- x = Shell("c:\Program Files\XnView\xnview.exe " & "n:\_8_Все_tif" & arrStr(0))
- 's.Close SaveChanges:=False
- End Sub
- Sub viewe_NP()
- ipage = 29 + Val(InputBox("Введите номер страницы"))
- open_file_in_XN
- End Sub
Решение задачи: «Поиск в файле Excel»
textual
Листинг программы
- n = "N:\_7_Все_карточки\Карточки.xlsm"
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д