Вверх ↑
Этот топик читают: Гость
Ответов: 311
Рейтинг: 26
#16: 2023-11-12 11:50:05 ЛС | профиль | цитата
sla8a писал(а):
Странно, но вначале у меня не работали первая (memo пустой) и вторая (окно свойств не открывалось) схема.

У меня так же.
Первая схема показала пустое окно.
Вторая схема запустилась и завершилась, не показав ничего.
Третью не запускал.
Все последующие запуски схем 1 и 2 уже давали результат.
карма: 2
1
Голосовали:sla8a
Ответов: 787
Рейтинг: 168
#17: 2023-11-12 12:42:18 ЛС | профиль | цитата
sla8a писал(а):
Странно, но вначале у меня не работали первая (memo пустой) и вторая (окно свойств не открывалось) схема. Или третья схема как-то повлияла или что-то еще, но при последующих запусках первой и второй схемы они начали работать.

Это очень странно. Схемы друг с другом никак не связаны. В трёх схемах использованы три разных языка программирования:
1. В первой – powershell
2. Во второй – VBS
3. В третьей – jscript

--- Добавлено в 2023-11-12 12:55:20

Тут столкнулся с другой проблемой. При получении мета-данных у файлов *.doc и *.docx (документы MS Word) в диалоге свойств присутствуют:
Знаки, количество –
Количество строк –
Абзацы, количество –
Этих свойств нет даже в самом документе Word, как они попадают в диалог свойств? И как их вытащить не открывая самого документа?
Данные файла Word.PNG

Add(MainForm,14681279,63,84)
{
link(onCreate,188991:doString,[])
}
Add(WinExec,9513980,161,84)
{
FileName="powershell.exe"
Mode=0
Point(doConsoleExec)
Point(onConsoleResult)
Point(onConsoleError)
link(onConsoleResult,3924364:doString,[])
}
Add(FormatStr,188991,112,98)
{
Mask="Add-Type -AssemblyName System.Windows.Forms\r\n$FileBrowser = New-Object System.Windows.Forms.OpenFileDialog -Property @{ \r\n InitialDirectory = [Environment]::GetFolderPath('Desktop')\r\n Title = 'Выберите документ Word '\r\n Multiselect = $true \r\n Filter = 'Documents (*.doc*)|*.doc*|All|*.*'\r\n}\r\n[void] $FileBrowser.ShowDialog()\r\n$FileBrowser.FileNames\r\n "
link(onFString,9513980:doConsoleExec,[])
}
Add(WinExec,13614633,259,84)
{
FileName="powershell.exe"
Mode=0
Point(doConsoleExec)
Point(onConsoleResult)
Point(onConsoleError)
link(onConsoleResult,13388704:doWork2,[])
link(onConsoleError,13388704:doWork3,[(312,111)])
}
Add(Memo,7717528,392,98)
{
Left=550
Top=160
Align=5
ScrollBars=3
}
Add(Charset,12271718,336,98)
{
link(onCharset,7717528:doAdd,[])
}
Add(HubEx,13388704,308,98)
{
link(onEvent,12271718:doCharset,[])
}
Add(FormatStr,3924364,210,98)
{
DataCount=1
Mask="$tmp = Get-ChildItem %1 \r\n$pathname = $tmp.DirectoryName \r\n$filename = $tmp.Name \r\n\r\n$shellobj = New-Object -ComObject Shell.Application \r\n$folderobj = $shellobj.namespace($pathname) \r\n$fileobj = $folderobj.parsename($filename) \r\n$results = $($folderobj.getDetailsOf($fileobj, $index))\r\n$($folderobj.getDetailsOf($fileobj, 2)) + ' - ' + $($folderobj.getDetailsOf($fileobj, 165))\r\n'Расположение - ' + $($folderobj.getDetailsOf($fileobj, 194))\r\n'Количество страниц - ' + $($folderobj.getDetailsOf($fileobj, 157))\r\n'Количество слов - ' + $($folderobj.getDetailsOf($fileobj, 160))\r\n\r\n\r\n"
link(onFString,13614633:doConsoleExec,[])
}


Редактировалось 2 раз(а), последний 2023-11-12 12:56:55
карма: 15

0
Ответов: 311
Рейтинг: 26
#18: 2023-11-12 16:08:28 ЛС | профиль | цитата
Gunta писал(а):
Знаки, количество –
Количество строк –
Абзацы, количество –


Это динамические данные и скорей всего подсчитываются и выдаются при обращении к документу каким то другим способом.

Редактировалось 1 раз(а), последний 2023-11-12 16:10:02
карма: 2
0
Ответов: 787
Рейтинг: 168
#19: 2023-11-15 17:38:25 ЛС | профиль | цитата
Gunta писал(а):
При получении мета-данных у файлов *.doc и *.docx (документы MS Word) в диалоге свойств присутствуют:
Знаки, количество –
Количество строк –
Абзацы, количество –

Эти параметры из документов *.docx можно вытащить таким способом.

Add(MainForm,14681279,105,84)
{
Width=665
Height=432
Caption="Получение всех не пустых свойст файла"
link(onCreate,188991:doString,[])
}
Add(Memo,7717528,322,98)
{
Width=649
Height=393
Align=5
Font=[Consolas,12,0,0,204]
ScrollBars=3
}
Add(Charset,12271718,273,98)
{
link(onCharset,7717528:doAdd,[])
}
Add(HubEx,13388704,252,98)
{
link(onEvent,12271718:doCharset,[])
}
Add(WinExec,9513980,210,84)
{
FileName="powershell.exe"
Mode=0
Point(doConsoleExec)
Point(onConsoleResult)
Point(onConsoleError)
link(onConsoleResult,13388704:doWork2,[])
link(onConsoleError,13388704:doWork3,[(256,111)])
}
Add(FormatStr,188991,161,98)
{
Mask="Add-Type -AssemblyName System.Windows.Forms\r\nAdd-Type -AssemblyName System.IO.Compression.FileSystem\r\n\r\n$FileBrowser = New-Object System.Windows.Forms.OpenFileDialog -Property @{ \r\n InitialDirectory = [Environment]::GetFolderPath('Desktop')\r\n Title = 'Выберите документ Word '\r\n Multiselect = $true \r\n Filter = 'Documents (*.docx)|*.docx|All|*.*'\r\n}\r\n[void] $FileBrowser.ShowDialog()\r\n\r\n$filename = $FileBrowser.FileNames\r\n\r\n$zip = [System.IO.Compression.ZipFile]::Open($filename, 'Read')\r\n$propsentry = $zip.GetEntry('docProps/app.xml')\r\nIf ($propsentry -ne $null) {\r\n $stream = $propsentry.Open()\r\n $reader = New-Object System.IO.StreamReader $stream\r\n $content = $reader.ReadToEnd()\r\n $xmldoc = [xml]$content\r\n $xmldoc.Properties \r\n}\r\n$zip.Dispose() "
link(onFString,9513980:doConsoleExec,[])
}

карма: 15

0
Ответов: 311
Рейтинг: 26
#20: 2023-11-15 19:10:39 ЛС | профиль | цитата
А это что?
xmlns : http://schemas.openxmlformats.org/officeDocument/2006/extended-properties
vt : http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes

Извиняюсь, нашёл в инете уже.

Редактировалось 4 раз(а), последний 2023-11-15 20:28:03
карма: 2
0
Ответов: 311
Рейтинг: 26
#21: 2023-11-16 11:08:54 ЛС | профиль | цитата
Раз уж пошёл такой разговор про мета данные.
Возможно ли расширить компонент Version?

Вот Version.rc
1 VERSIONINFO
FILEVERSION 1,0,0,1
PRODUCTVERSION 1,0,0,1
FILEFLAGSMASK 0x17L
FILEOS 0x4L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "041904b0"
BEGIN
VALUE "FileDescription", "%fdesname"
VALUE "FileVersion", "%ver"
VALUE "InternalName", "%pname"
VALUE "LegalCopyright", "Copyright (C) 2022"
VALUE "OriginalFilename", "%fname"
VALUE "ProductName", "%pname"
VALUE "ProductVersion", "%ver"
VALUE "E-mail", "%mail"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x419, 1200
END
END

Редактировалось 2 раз(а), последний 2023-11-16 16:13:21
карма: 2
0
Ответов: 787
Рейтинг: 168
#22: 2023-12-09 07:49:34 ЛС | профиль | цитата
Пример использования целого числа вместо доменного имени в адресной строке.

Add(MainForm,2953706,154,105)
{
Height=162
Caption="Domain name to integer"
link(onCreate,3095644:doEvent1,[])
}
Add(Host,1760141,266,161)
{
link(onIPByHost,3196710:doEvent1,[])
link(HostName,8865534:Var2,[])
}
Add(VisualStrings,7962421,273,56)
{
Lines=#15:forum.hiasm.com|
Width=88
}
Add(Hub,3196710,315,168)
{
link(onEvent1,3045089:doStrCatDlm,[])
link(onEvent2,5258912:doEnum,[(340,181)(340,209)(144,209)(144,223)])
}
Add(ConvertorEx,3409500,210,217)
{
Mode=6
link(onResult,2271008:doValue,[])
}
Add(Str_Enum,5258912,154,217)
{
Delimiter="."
link(onEnum,3409500:doConvert,[])
link(onEndEnum,5651232:doString,[(200,230)(200,272)])
}
Add(MemFIFO,2271008,266,217)
{
Count=4
}
Add(FormatStr,5651232,266,266)
{
DataCount=4
Mask="%4%3%2%1 "
link(onFString,14063332:doWork,[])
link(Str1,2271008:Value1,[])
link(Str2,2271008:Value2,[])
link(Str3,2271008:Value3,[])
link(Str4,2271008:Value4,[])
}
Add(VBJScript,14063332,322,266)
{
WorkPoints=#6:doWork|
EventPoints=#7:onEvent|0:|
Language=1
Script=#27:function doWork(data,index)|5: { |36: sys.onEvent(parseInt(data,16));|5: }|5: |
UseName=0
link(onEvent,9409233:doStrCatDlm,[])
}
Add(StrCatDelim,3045089,378,168)
{
Str1="https://"
Str2="/forum/0"
Point(Delimiter)
link(onStrCatDlm,6274648:doText,[])
}
Add(StrCatDelim,9409233,378,266)
{
Str1="https://"
Str2="/forum/0"
Point(Delimiter)
link(onStrCatDlm,1776293:doText,[])
}
Add(WinExec,10475682,504,112)
{
}
Add(Label,14772331,434,119)
{
Left=20
Top=15
Height=20
Font=[MS Sans Serif,12,0,-16777203,1]
Underline=0
CaptionOnClick=0
link(onClick,15332757:doWork2,[])
}
Add(Label,6274648,434,168)
{
Left=20
Top=45
Height=20
Font=[MS Sans Serif,12,0,-16777203,1]
Underline=0
CaptionOnClick=0
link(onClick,740295:doWork2,[])
}
Add(Label,1776293,434,266)
{
Left=20
Top=75
Height=20
Font=[MS Sans Serif,12,0,-16777203,1]
Underline=0
CaptionOnClick=0
link(onClick,740295:doWork3,[(487,272)])
}
Add(Hub,3095644,196,119)
{
link(onEvent1,12016116:doStrCatDlm,[])
link(onEvent2,1760141:doIPByHost,[(221,132)(221,174)])
}
Add(StrCatDelim,12016116,378,119)
{
Str1="https://"
Str2="/forum/0"
Point(Delimiter)
link(onStrCatDlm,14772331:doText,[])
link(Delimiter,8865534:Var3,[(398,103)])
}
Add(GetDataEx,8865534,273,98)
{
link(Data,7962421:Text,[])
}
Add(HubEx,15332757,483,119)
{
link(onEvent,10475682:doShellExec,[])
}
Add(HubEx,740295,483,168)
{
Angle=3
link(onEvent,15332757:doWork3,[])
}


--- Добавлено в 2023-12-09 07:52:38

На работе попросили сделать программу для экспорта данных из большого количества pdf документов в один excel файл.
Сделал небольшой пример с файлом, скаченным из интернета. Для работы примера на компьютере должен быть установлен microsoft office 2019 или microsoft office 365.

https://forum.hiasm.com/getfile/39646

Редактировалось 1 раз(а), последний 2023-12-09 07:52:38
карма: 15

0
файлы: 1pdf parser.zip [172.8KB] [607]
Ответов: 787
Рейтинг: 168
#23: 2023-12-10 12:50:53 ЛС | профиль | цитата
Gunta писал(а):
Пример: получение 24hrTicker по паре bnbbtc с биржи binance

Ещё один вариант подключения к WebSocket
https://forum.hiasm.com/getfile/39647
карма: 15

0
файлы: 1Подключение к websocket серверу с помощью VBJScript .zip [1KB] [435]
Ответов: 537
Рейтинг: 14
#24: 2023-12-17 15:38:05 ЛС | профиль | цитата
Gunta писал(а):
На работе попросили сделать программу для экспорта данных из большого количества pdf документов в один excel файл.

Не работает, установлен microsoft office 2019 на win 10 x64
Пишет, Импорт pdf.Tables Не соответствует ни одному из экспортов.Не пропущена ли ссылка на модуль?

Редактировалось 1 раз(а), последний 2023-12-17 15:46:21
карма: 4

0
Ответов: 787
Рейтинг: 168
#25: 2023-12-17 19:29:58 ЛС | профиль | цитата
Sersey писал(а):
Не работает, установлен microsoft office 2019 на win 10 x64
Пишет, Импорт pdf.Tables Не соответствует ни одному из экспортов.

Пример сделан только для конкретного pdf-файла (лежит в архиве).
Pdf очень неприятный формат для парсинга. Поэтому для каждого файла или группы похожих файлов (счета, накладные и т.д.) нужно делать обработку индивидуально.
карма: 15

0
Ответов: 537
Рейтинг: 14
#26: 2023-12-18 08:03:16 ЛС | профиль | цитата
Gunta писал(а):
Пример сделан только для конкретного pdf-файла (лежит в архиве).

Так для вашего файла и не работает
карма: 4

0
Ответов: 787
Рейтинг: 168
#27: 2023-12-18 11:56:39 ЛС | профиль | цитата
Sersey писал(а):
Так для вашего файла и не работает

Только что разархивировал архив и запустил схему.
Всё отработало без всяких проблем. Никаких дополнительных модулей у себя не устанавливал.
pdf parser.PNG
excel ver.PNG

Редактировалось 1 раз(а), последний 2023-12-18 12:12:11
карма: 15

0
Ответов: 311
Рейтинг: 26
#28: 2023-12-18 15:31:46 ЛС | профиль | цитата
Sersey писал(а):
Не работает, установлен microsoft office 2019 на win 10 x64

У меня тоже не работает.
Но возможно что у меня microsoft office 2016 win 10 x64
карма: 2
0
Ответов: 8923
Рейтинг: 823
#29: 2023-12-18 19:49:53 ЛС | профиль | цитата
Gunta, на всякий случай, спрашивает не пропущена-ли ссылка
Excel_.jpg

Редактировалось 1 раз(а), последний 2023-12-18 19:51:13
карма: 19

0
Ответов: 787
Рейтинг: 168
#30: 2023-12-18 21:10:09 ЛС | профиль | цитата
Леонид, Sersey, Есть ли у вас в меню Excel этот пункт?
pdf in excel.png
У меня два ноутбука домашний (office 2019, win 10/x64) и рабочий (office 365, win 10/x64)
И на обоих эта схема работает. Почему у вас возникли проблемы я не знаю. Если кто-то сможет проверить на 365 офисе напишите работает ли на нем.
карма: 15

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)