Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Поиск в файле Exel (http://forum.oszone.net/showthread.php?t=317304)

blackeangel 29-07-2016 19:12 2655367

Поиск в файле Exel
 
Всем привет.
Надо бы как то написать программку с интерфейсом типа 6-7 кнопок, одна строка для ввода текста. И должна она искать то что вводишь в поле в 2х файлах Exel, а после того как нашлось совпадение подать содержимое 30го столбца i-ой строки на программу просмотрщика изображений .tif.
Так сказать электронный каталог изображений.
Есть уже готовый фу скрипт на vba, но в vbs не знаю как переделать.
Либо на какойто другой язык, чтобы работало поверх окон и вот так красиво, чтобы не запускать эксель каждый раз.
чтобы потом просто конвертануть или как то скомпилить в .exe

blackeangel 29-07-2016 19:42 2655384

вот код из vba
Код:

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



Время: 06:19.

Время: 06:19.
© OSzone.net 2001-