Вверх ↑
Этот топик читают: Гость
Ответов: 332
Рейтинг: 48
#31: 2021-03-01 05:55:16 ЛС | профиль | цитата
Пример передачи данных в Excel с помощью формул вида « =server |topic!item »

Add(MainForm,2953706,70,112)
{
Width=389
Height=222
Caption="TestsDDEserver"
Point(onClose)
link(onCreate,13272898:doStart,[])
link(onClose,13272898:doStop,[])
}
Add(DDEServer,13272898,126,126)
{
ServiceName="Test"
TopicList=#5:topic|
link(onGetItem,9994146:doGetIndex,[])
}
Add(Label,7157217,588,140)
{
Left=15
Top=45
Width=125
Caption="=Test|topic!item"
Underline=0
CaptionOnClick=0
Point(onDblClick)
link(onClick,15894363:doWork2,[])
}
Add(StrList,9994146,175,98)
{
Strings=#15:StdDocumentName|4:item|5:item1|5:item2|
Point(doGetIndex)
Point(onGetIndex)
Point(StrToFind)
link(onGetIndex,14199659:doEvent,[])
}
Add(IndexToChanel,14199659,224,105)
{
Count=4
link(onEvent2,342458:doData,[])
link(onEvent3,2228487:doNext,[])
link(onEvent4,9458303:doRandom,[])
}
Add(Random,9458303,378,126)
{
Max=1000
link(onRandom,15574439:doEvent3,[])
}
Add(Clipboard,7091608,651,140)
{
}
Add(Button,9454402,175,259)
{
Left=35
Top=130
Width=84
Caption="Старт"
Point(doCaption)
link(onClick,4396771:doSwitch,[])
}
Add(DDEClient,12344087,406,238)
{
ServiceName="EXCEL"
TopicName="system"
AutoUpdate=1
Point(doExecute)
Point(onError)
}
Add(FormatStr,12590960,357,266)
{
Mask="[UPDATE.LINK("Test|topic!item", 2)][UPDATE.LINK("Test|topic!item1", 2)][UPDATE.LINK("Test|topic!item2", 2)]"
link(onFString,12344087:doExecute,[])
}
Add(Time,5482872,280,56)
{
Format=" D-M-Y h:m:s"
}
Add(DoData,342458,280,112)
{
link(onEventData,15574439:doEvent1,[])
link(Data,5482872:FormatTime,[])
}
Add(ScrollBar,12006976,175,315)
{
Left=145
Top=135
Width=200
Height=10
Max=2000
Min=50
Page=50
Position=500
link(onPosition,14794351:doEvent1,[])
}
Add(Switch,4396771,231,259)
{
DataOn=String(Стоп)
DataOff=String(Старт)
Point(onOn)
Point(onOff)
link(onSwitch,9454402:doCaption,[(277,265)(277,251)(165,251)(165,265)])
link(onOn,11680365:doWork2,[])
link(onOff,3060626:doWork2,[])
}
Add(Hub,14794351,238,315)
{
OutCount=3
link(onEvent1,3060626:doWork3,[(277,321)])
link(onEvent2,5546050:doInterval,[(291,328)(291,286)])
link(onEvent3,11680365:doWork3,[(284,335)])
}
Add(HubEx,3060626,273,273)
{
link(onEvent,5546050:doStop,[])
}
Add(HubEx,11680365,280,266)
{
link(onEvent,5546050:doTimer,[])
}
Add(Label,2692982,588,189)
{
Left=15
Top=60
Width=125
Caption="=Test|topic!item1"
Underline=0
CaptionOnClick=0
Point(onDblClick)
link(onClick,13931715:doWork2,[])
}
Add(Label,6463094,588,238)
{
Left=15
Top=75
Width=125
Caption="=Test|topic!item2"
Underline=0
CaptionOnClick=0
Point(onDblClick)
link(onClick,13931715:doWork3,[(634,244)])
}
Add(CounterEx,2228487,329,119)
{
link(onNext,15574439:doEvent2,[])
}
Add(Hub,15574439,427,112)
{
InCount=3
OutCount=1
link(onEvent1,13272898:doReturnItem,[(473,118)(473,167)(116,167)(116,146)])
}
Add(HubEx,15894363,630,140)
{
link(onEvent,7091608:doPutText,[])
}
Add(HubEx,13931715,630,189)
{
Angle=3
link(onEvent,15894363:doWork3,[])
}
Add(Timer,5546050,308,266)
{
Enable=1
Point(doInterval)
link(onTimer,12590960:doString,[])
}
Add(Label,68095,588,91)
{
Left=15
Top=10
Width=379
Height=32
Caption="Щёлкните по ссылке для копирования в буфер\r\nи вставте в Excel"
AutoSize=1
}
Add(Label,16459944,126,315)
{
Left=150
Top=115
Width=205
Height=17
Caption="Время обновления данных (50-2000 мс)"
}

Запустите программу. Откройте Excel и вставьте в ячейки следующие формулы:
=Test|topic!item
=Test|topic!item1
=Test|topic!item2
Нажмите кнопку «Старт». Также можно менять время обновления данных.
Настройки Excel->Файл->Параметры->Дополнительно->Общие должны быть такими.
Настройки Excel.PNG
Архив с файлами - https://forum.hiasm.com/getfile/39213
карма: 9

1
файлы: 1Hiasm-Excel formulas.zip [21KB] [199]
Голосовали:tig-rrr
Ответов: 332
Рейтинг: 48
#32: 2022-01-15 15:58:56 ЛС | профиль | цитата
Для тех у кого установлен Google Chrome . Пример передача данных из Hiasm в Excel, CSV и PDF.
Ссылка на пример -https://forum.hiasm.com/getfile/39350 (Форум портит схему в тегах - "code")

Редактировалось 1 раз(а), последний 2022-01-15 16:04:52
карма: 9

0
файлы: 1Hiasm to chrome.zip [3.6KB] [65]
Ответов: 332
Рейтинг: 48
#33: 2022-05-03 15:29:11 ЛС | профиль | цитата
Только ради эксперимента. Обрезал у excel практически всё, оставил только таблицу.
Можно выдавать данные и в таком виде. (Проверено на Windows10/64; MS office 2019/64)

Add(MainForm,15391640,224,147)
{
Visible=1
link(onCreate,2062696:doEvent1,[])
}
Add(StrList,5903685,315,105)
{
Strings=#42:Артикул;Название;Кол-во;Ед.изм.;Цена;Сумма|56:23544122;Carbon disc ?44,7/38,3x5,8mm;10;PC;16,92;169,20|56:23544122;Carbon disc ?44,7/38,3x5,8mm;10;PC;16,92;169,20|54:23544122;Carbon disc ?44,7/38,3x5,8mm;2;PC;16,92;33,84|64:21200159;Top part UNIFL3/4 for steel bot.part;25;PC;30,09;752,25|57:24400111;Hose f. pump compl. UNIWASH;153;PC;10,58;1618,74|58:13225;Piston complete for valve UNIWASH3;4;PC;27,09;108,36|60:12200105;Vacuumgauge glycerine ?100mm 3/8";5;PC;40,57;202,85|54:21200141;Thread bush UNIFLOW3 steel;130;PC;1,93;250,90|45:25100146;O-ring ?16,1x1,6mm;175;PC;0,36;63,00|57:21200127;Holder rocking lever, UNIFLOW3;170;PC;0,26;44,20|50:21200131;Rocking lever UNIFLOW3;150;PC;0,89;133,50|65:25200132;Valve button inside UNIFLOW3 steel FA;225;PC;0,72;162,00|61:21200129;Bar closing device UNIFLOW3 steel;225;PC;1,09;245,25|55:25200124;Valve flap outside UNIFLOW3;225;PC;1,56;351,00|60:14400212;Solenoid valve sgl. invensys 230vac;5;PC;8,50;42,50|62:14400213;Solenoid valve dobb. invensys 230vac;5;PC;14,13;70,65|48:21200131;Rocking lever UNIFLOW3;20;PC;0,89;17,80|63:25200132;Valve button inside UNIFLOW3 steel FA;20;PC;0,72;14,40|43:25100146;O-ring ?16,1x1,6mm;20;PC;0,36;7,20|55:21200127;Holder rocking lever, UNIFLOW3;20;PC;0,26;5,20|58:21200130;Bar closing device UNIFLOW3 steel;20;PC;0,34;6,80|58:25200119;Guard bracket UNIFLOW3 steel SBS;20;PC;3,38;67,60|55:13474;Valve flap exterior UNIFLOW3 SBS;20;PC;1,56;31,20|59:26400104;Terminal wheel for lock guide str;20;PC;1,12;22,40|67:25215022;Rubber liner UNIFL. 15022-?22 UNIFLEX FA;96;PC;2,39;229,44|55:14800695;Hose guide f. SAC115 complete;10;PC;9,17;91,70|36:14306;Filter for IDC;20;PC;0,40;8,00|51:25515435;Rubber hose ?27/16 mm - FA;15;M;5,24;78,60|63:13930;Double-action Quickstart II rem. L=740mm;1;PC;98,66;98,66|54:13100201;Spray gun for udder washer;20;PC;17,77;355,40|0:|
}
Add(StreamConvertor,16688297,364,161)
{
Mode=7
link(onResult,13611874:doCreate,[])
}
Add(TempFileStream,13611874,413,161)
{
Extention=".txt"
link(onCreate,15816150:doString,[])
}
Add(FormatStr,15816150,462,161)
{
Mask="Dim objExcel, iCommandBar\r\n\r\nSet objExcel = CreateObject("Excel.Application")\r\nSet objWorkbook = objExcel.Workbooks.Open("%1")\r\nSet iCommandBar = objExcel.CommandBars\r\nWith objExcel\r\n .Visible = False\r\n .ScreenUpdating = False\r\n .Workbooks(1).Windows(1).Caption = ""\r\n .Caption = "Excel reduction"\r\n .DisplayStatusBar = False \r\n .DisplayFormulaBar = False\r\n .ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"", False)"\r\n With .ActiveWindow\r\n .DisplayHeadings = False\r\n .DisplayGridlines = False\r\n .DisplayHorizontalScrollBar = False \r\n .DisplayVerticalScrollBar = False\r\n .DisplayWorkbookTabs = False\r\n .Height = 500 \r\n .Width = 400 \r\n End With\r\n \r\n For Each iCommandBar In .CommandBars\r\n iCommandBar.Enabled = False\r\n Next \r\n .ActiveSheet.UsedRange.EntireColumn.AutoFit\r\n .ScreenUpdating = True\r\n .Visible = True \r\n .Workbooks(1).Saved = True\r\nEnd With"
link(onFString,4492862:##SetScript,[])
}
Add(VBJScript,4492862,511,161)
{
WorkPoints=#11:##SetScript|
Script=#0:|0:|
UseName=0
}
Add(Replace,2999836,315,161)
{
SubStr=";"
DestStr="\t"
link(onReplace,16688297:doConvert,[])
link(Str,5903685:Text,[])
}
Add(Hub,2062696,273,161)
{
link(onEvent1,2999836:doReplace,[])
link(onEvent2,15391640:doClose,[(298,174)(298,188)(214,188)(214,174)])
}

карма: 9

1
Голосовали:tig-rrr
33
Сообщение
...
Прикрепленные файлы
(файлы не залиты)