Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
 Аватар для blackeangel
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908

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

29.07.2016, 19:49. Показов 2780. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.
Надо бы как то написать программку с интерфейсом типа 6-7 кнопок, одна строка для ввода текста. И должна она искать то что вводишь в поле в 2х файлах Exel, а после того как нашлось совпадение подать содержимое 30го столбца i-ой строки на программу просмотрщика изображений .tif.
Так сказать электронный каталог изображений.
Есть уже готовый фу скрипт на vba, но в vbs не знаю как переделать.
Либо на какойто другой язык, чтобы работало поверх окон и вот так красиво, чтобы не запускать эксель каждый раз.
вот код из vba
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
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
чтобы потом просто конвертануть или как то скомпилить в .exe
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.07.2016, 19:49
Ответы с готовыми решениями:

Поиск данных в файле Excel
Всем доброго времени суток. Ваш форум для меня настоящее спасение. Выражаю огромную благодарность Админам!!! Надо найти данные в файле...

Поиск информации в файле Excel
Всем привет, ситуация следующая, есть папки с именами &quot;105&quot; &quot;109&quot; &quot;210&quot; имеется таблица .xlsx где 1-ый столбец 3х значное число, а второй...

Поиск и замена слова в файле Excel
Я задался вопросом Как лучше реализовать замену определенного слова в файле Excel. Например у нас в файле есть слова {fam} {name} {otch}...

28
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
02.08.2016, 15:50
Студворк — интернет-сервис помощи студентам
И что? Просмотрщик открывает файлы с таким расширением?
120326133153.tif!А4!1!a
0
 Аватар для blackeangel
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908
02.08.2016, 16:00  [ТС]
Alex77755, строка 41 в макросе отделит от 120326133153.tif!А4!1!a часть 120326133153.tif и берет это, это и есть имя файла.
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
02.08.2016, 16:26
некогда зачищать. Грубо как-то так можно
Вложения
Тип файла: rar Карточ.rar (204.3 Кб, 3 просмотров)
1
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
02.08.2016, 16:31
строка 41 в макросе
В книге всего 34 строки кода...
0
 Аватар для blackeangel
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908
03.08.2016, 13:20  [ТС]
Alex77755, строка в макросе что в первом моем сообщении, а не в книге.

Добавлено через 19 часов 44 минуты
Alex77755, итак, запустил сегодня, почти хорошо, НО:
1.Изображение открывается на полный экран
2. При переносе в другую форму ругается на строку содержащую Lib "gdiplus"
3. Хотелось бы чтобы картинка открывалась в другой форме а не в этой и на полный экран
4. Почему открывается каждый раз эксель? Может как то это обойти? А то поиск по файлу долго идет, тк файл около 20 мб и открывается очень долго.
0
 Аватар для blackeangel
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908
03.08.2016, 13:42  [ТС]
Вот тут
Вложения
Тип файла: rar test2.rar (2.7 Кб, 0 просмотров)
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
03.08.2016, 13:57
Почему открывается каждый раз эксель?
Спроси у того. кто придумал хранить данные в ексель
Может быть немного ускорит поиск запрос к листу. порой в сторону SQL запрос
При переносе в другую форму ругается на строку содержащую Lib "gdiplus"
Декларируй АПИ функции глобально в модуле
С размером надо что-то делать. Например масштабировать
0
 Аватар для blackeangel
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908
04.08.2016, 13:53  [ТС]
Alex77755, то есть декларировать? Если вашу форму использую, то все работает, а если свою то просит что то.
Вот сами посмотрите, файл приложил постом выше

Добавлено через 8 минут
И ещё вопрос: а он открывает первый файл в папке который попадется или же все что соответствуют маске?

Добавлено через 18 часов 38 минут
Alex77755, открытие каждый раз файла экселя решил методом переноса этого всего на запуск программы. Программа запускаться стала дольше, зато ищет быстрее. Теперь надо чтобы искало не точное совпадение, а часть. От vbaкод ему не понятен. Ну и проблема с масштабированием актуальна.

Добавлено через 3 часа 35 минут
Alex77755, и ещё одно не менее важное количество форм открываемых может быть бесконечное множество. Так сказать программа одна, а окон должно быть много.

Добавлено через 1 час 27 минут
Эт нужно для просмотра одновременно нескольких изображений
0
 Аватар для blackeangel
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908
04.08.2016, 14:44  [ТС]
Alex77755, передача из формы в форму не работает(
Вот что у меня получилось.
Вложения
Тип файла: rar test3.rar (3.6 Кб, 2 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.08.2016, 14:44

Поиск ячеек в файле Excel с последующей консолидацией
Последний раз программировал на VBA 15 лет назад, теперь нет сил и возможностей освежить знания. Прошу помочь в решение этой простой...

Поиск информации в Excel файле сайта web of science
Друзья ,помогите. В общем суть задания такая ,нужно написать программу ,в которой я буду вводить название статьи либо ключевые слова ,...

CommandButton: выполнить поиск слов в файле с дальнейшим экмпортом в Excel
Здравствуйте! Нуждаюсь в помощи, проблема состоит в следующем: Нужно выполнить поиск слов в файле с дальнейшим экмпортом в Exel. Есть...

Поиск определенного текста в файле .txt и вставка в определенную ячейку в Excel
Доброго времени суток. Допустим есть файл info.txt ( состоит из множества строк, например gsd = 797 .... dig = 7666 и т.д.) в корне в с...

Поиск в текстовом файле всех слов, заданных в другом текстом файле
Вообщем такое задание: Поиск в текстовом файле всех слов, заданных в другом текстом файле; Не могу понять почему не работает: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Новые блоги и статьи
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки. Добавлены следующие реквизиты типа Булево: - Буквы; - Цифры; - Символы. Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей. Самым главным критерием для. . .
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store. И так: 1. Скачиваем с. . .
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге). Задача: Программно добавить префикс в нумерацию документов. Решение: В модуле объекта. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru