Возникла проблема в проекте, суть которого в следующем: Имеется корпоративный сайт (соот-но откликнувшимся придется подсказывать "вслепую"). Точнее не сайт, а веб интерфейс. Имеется поисковая форма, сайт отображает карточки пользователей, содержащую определенную информацию, в них же можно выполнять определенные действия (типа внесение информации и т.д.). Был написан макрос, работа которого заключается в: 1) Поиск искомой карточки 2) Вход в карточку 3) Выполнение действие будь то внесение информации В карточку, или же извлечение 4) Закрытие карточки 5) Поиск следующей записи и далее по циклу (см. пример кода, разумеется пришлось затереть и url, и id html-элементов)
В каждую карточку имеется возможность загружать файлы с жесткого диска. Однако элемент управляется приложением SilverLight. Т.е. расположен объект в виде графической кнопки (которая в ресурсах самого сайта не вложена, т.е. img src не известен) Этот объект определяет: а) SilverLight не установлен - img ссылки на скачивание дистрибутива б) SilverLight установлен - картинка загрузки документа, по нажатию которой открывается FileDialog выбора файла. После выбора файла запускается уже javascript на самой странице сайта с прогресс баром и т.д.
Вопрос в следующем, есть ли у вас представления как: - сэмулировать клик по объекту - вызвать функцию или запуск приложения?
Что известно об объекте: TagName - object (иных объектов нет) ID - есть (IE.document.getElementById("id").Click \ onclick не приводят ни к чему)
Объект управляется файлом SilverlightApplication.xap (файл могу выслать на эл. почту, imgname внутри с помощью программы SilverLight Spy найден, однако не могу определить src) В коде страницы следующее:
Есть множество документов WORD, данные из которых необходимо переносить в таблицу Excel по заданным параметрам в определенные сроки. Документы организованы в виде таблиц, при этом 1 и 2 таблицы всегда статичны, т.е. обращение идёт к определенному адресу и с этим проблем нет
Таблица № 3 не имеет четкой упорядоченности, и необходимые данные могут быть расположены в разных строках
Есть макрос, перебирающий все находящиеся в папке документы, однако с организацией цикла поиска возникли трудности. Ребята, прошу помочь в "дописании" макроса * прикладываю файл с примерами. Необходимо в столбец D выводить соответствующую дату позиции "Договор оказания услуг"
Код
Sub ParsingDoc()
Dim wrdDoc As Object, objFiles As Object, fso As Object, wordApp As Object
Dim sh1 As Worksheet
Dim x As Integer
FolderName = "D:\Pars" ' Директория с файлами
Set sh1 = ThisWorkbook.Sheets(1)
Set fso = CreateObject("Scripting.FileSystemObject")
Set wordApp = CreateObject("Word.application")
Set objFiles = fso.GetFolder(FolderName).Files
x = 2
For Each wd In objFiles
If InStr(wd, ".docx") And InStr(wd, "~") = 0 Then
Set wrdDoc = wordApp.Documents.Open(wd.Path, ReadOnly = True)
' 1. Выведение наименования файла в столбец A
sh1.Cells(x, 1) = wd.Name
' 2. Поиск даты Сведений в таблице № 1. Переменная dateA, da
Dim dateA As String, da As Long
dateA = wrdDoc.Tables(1).Cell(1, 1).Range
da = InStr(1, dateA, "", 1)
If da > 0 Then
dateA = Mid(dateA, da + 0, Len(dateA) - da - 3)
da = InStr(1, dateA, " г.", 1)
If da > 0 Then
dateA = Mid(dateA, 1, da - 1)
End If
End If
sh1.Cells(x, 2) = dateA
' 3. Поиск ФИО в таблице № 2. Переменная fio, fa
Dim fio As String, fa As Long
fio = wrdDoc.Tables(2).Cell(5, 2).Range
fa = InStr(1, fio, "", 1)
If fa > 0 Then
fio = Mid(fio, fa + 0, Len(fio) - fa - 5)
fa = InStr(1, fio, " род.", 1)
If fa > 0 Then
fio = Mid(fio, 1, fa - 1)
End If
End If
sh1.Cells(x, 3) = fio
' 4. Поиск Даты Договора оказания услуг в таблице № 2
x = x + 1
wrdDoc.Close
End If
Next wd
wordApp.Quit
End Sub
Есть задача парсить типовые word'овские документы в таблицу Excel Документы состоят из 2-3 таблиц, и искомые значения в разных документах могут находиться по разным координатам.
Есть макрос, который последовательно перебирает все документы в папке и выводит в заданную таблицу текст по заданным координатам.
Код
Sub wordScrape()()
Dim wrdDoc As Object, objFiles As Object, fso As Object, wordApp As Object
Dim sh1 As Worksheet
Dim x As Integer
FolderName = "H:\" ' Директория с файлами
Set sh1 = ThisWorkbook.Sheets(1)
Set fso = CreateObject("Scripting.FileSystemObject")
Set wordApp = CreateObject("Word.application")
Set objFiles = fso.GetFolder(FolderName).Files
x = 2
For Each wd In objFiles
If InStr(wd, ".docx") And InStr(wd, "~") = 0 Then
Set wrdDoc = wordApp.Documents.Open(wd.Path, ReadOnly = True)
sh1.Cells(x, 1) = wd.Name
sh1.Cells(x, 2) = wrdDoc.Tables(1).Cell(Row:=1, Column:=1).Range
'sh1.Cells(x, 3) = для других аргументов, где x=строка, число=столбец
x = x + 1
wrdDoc.Close
End If
Next wd
wordApp.Quit
End Sub
Возникли 2 проблемы: 1. Есть конкретные статичные ячейки в документе, где всегда находится искомый текст, но он обременен другой информацией, например: "РП № 987/444/776, исполнитель Иванов" Необходимо извлекать только 987/444/776
2. Есть информация, которая может быть в документе, но расположена во всегда разных координатах. То есть необходимо найти координаты ячейки поиском по тексту