Поиск в файле Excel - VB

Узнай цену своей работы

Формулировка задачи:

Всем привет. Надо бы как то написать программку с интерфейсом типа 6-7 кнопок, одна строка для ввода текста. И должна она искать то что вводишь в поле в 2х файлах Exel, а после того как нашлось совпадение подать содержимое 30го столбца i-ой строки на программу просмотрщика изображений .tif. Так сказать электронный каталог изображений. Есть уже готовый фу скрипт на vba, но в vbs не знаю как переделать. Либо на какойто другой язык, чтобы работало поверх окон и вот так красиво, чтобы не запускать эксель каждый раз. вот код из vba
Листинг программы
  1. Sub viewe() 'просмотр из любой ячейки книги кд либо СБ либо детальных,но не спецификаций
  2. On Error Resume Next
  3. Dim n As String, m As String, m1 As String, v As String
  4. Dim z As Range, a As Range
  5. Dim s, w
  6. m = ActiveCell
  7. 'm = Cells(ActiveCell.Row, ActiveCell.Column)
  8. If m = "" Then
  9. MsgBox "В ячейке пусто!", vbExclamation
  10. Exit Sub
  11. End If
  12. 'если документа с исполнением нет в БД искать(базовый документ) без исполнения
  13. '==>
  14. If InStr(1, m, "-") > 0 Then
  15. m = Left(m, InStr(1, m, "-") - 1)
  16. End If
  17. '<==
  18. '=====================================================================================================
  19. n = "N:\_7_Все_карточки\Карточки.xlsm"
  20. Set s = GetObject(n)
  21. m1 = m + "СБ"
  22. Set z = s.Worksheets(1).Cells.Find(What:=m1, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows)
  23. If z Is Nothing Then
  24. Set z = s.Worksheets(1).Cells.Find(What:=m, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows)
  25. End If
  26. If z Is Nothing Then
  27. n = "N:\_7_Все_карточки\Предварительный архив.xlsm"
  28. Set s = GetObject(n)
  29. Set z = s.Worksheets(1).Cells.Find(What:=m1, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows)
  30. ' MsgBox "z= " & z
  31. If z Is Nothing Then
  32. Set z = s.Worksheets(1).Cells.Find(What:=m, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows)
  33. End If
  34. End If
  35. If z = "" Then
  36. MsgBox "Номер нигде не найден!", vbExclamation
  37. Exit Sub
  38. End If
  39. ipage = 30
  40. arrStr = Split(s.Worksheets(1).Cells(z.Row, ipage), "!")
  41. x = 0
  42. x = Shell("C:\Program Files (x86)\IrfanView\i_view32.exe " & "n:\_8_Все_tif" & arrStr(0), vbNormalFocus)
  43. x = Shell("c:\Program Files\IrfanView\i_view32.exe " & "n:\_8_Все_tif" & arrStr(0), vbNormalFocus)
  44. If x > 0 Then Exit Sub 'Если IrfanView не установлен, открываем XnView
  45. x = Shell("C:\Program Files (x86)\XnView\xnview.exe " & "n:\_8_Все_tif" & arrStr(0))
  46. x = Shell("c:\Program Files\XnView\xnview.exe " & "n:\_8_Все_tif" & arrStr(0))
  47. 's.Close SaveChanges:=False
  48. End Sub
  49. Sub viewe_NP()
  50. ipage = 29 + Val(InputBox("Введите номер страницы"))
  51. open_file_in_XN
  52. End Sub
чтобы потом просто конвертануть или как то скомпилить в .exe

Решение задачи: «Поиск в файле Excel»

textual
Листинг программы
  1. n = "N:\_7_Все_карточки\Карточки.xlsm"

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.833 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы