Вверх ↑
Ответов: 698
Рейтинг: 143
#1: 2020-09-19 19:32:45 ЛС | профиль | цитата
Для информации. У кого Excel с русским интерфейсом можно использовать макрокоманды также на русском языке и в любом регистре (работает ТОЛЬКО в русской версии Excel).

Add(MainForm,4844206,49,56)
{
Left=20
Top=105
Width=444
Height=437
Caption="Пример передачи таблицы в/из Excel."
Point(Handle)
Point(onClose)
link(onCreate,9404130:doEvent1,[])
}
Add(DDEClient,12344087,476,483)
{
ServiceName="EXCEL"
TopicName="system"
AutoUpdate=1
Point(onExecute)
Point(onError)
Point(doTopicName)
Point(doExecute)
link(onExecute,15882137:doEvent,[])
}
Add(WinTools,6027587,49,105)
{
link(Handle,4844206:Handle,[])
}
Add(MTStrTbl,5816951,826,70)
{
Top=115
Width=428
Height=283
Align=5
Name="excel"
Columns=#7:Артикул|8:Название|6:Кол-во|7:Ед.изм.|4:Цена|5:Сумма|0:|
Redaction=0
}
Add(Hub,9404130,105,70)
{
link(onEvent1,7002440:doEnum,[])
link(onEvent2,6027587:doPopup,[(130,83)(130,97)(39,97)(39,118)])
}
Add(StrList,13732325,665,35)
{
Strings=#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(ArrayEnum,1512985,679,84)
{
link(onItem,7011876:doMTString,[])
link(onEndEnum,4139610:doColAction,[(718,97)(718,125)])
link(Array,13732325:Array,[])
}
Add(MT_String,7011876,728,70)
{
link(onResult,3501424:doRowAction,[])
}
Add(MST_RowAction,3501424,777,70)
{
MSTControl="excel"
}
Add(Menu,11693391,42,378)
{
Menu=#5:Excel|1:(|7:Export |6:Import|1:-|9:New sheet|4:Save|1:)|0:|
Point(onSelectNum)
link(onSelectNum,7434029:doEvent1,[])
}
Add(Convertor,5491408,665,532)
{
Mode=12
link(onResult,11674960:doLoadFromStream,[])
link(Data,2176761:Text,[(671,516)(881,516)])
}
Add(MST_Load,11674960,721,525)
{
Delimiter="\t"
MSTControl="excel"
link(onLoadFromStream,9772588:doWork2,[])
}
Add(IndexToChanel,15882137,539,511)
{
link(onEvent2,9922165:doEvent,[])
}
Add(Memory,2790909,595,399)
{
link(onData,6178369:doEvent,[])
}
Add(IndexToChanel,9922165,595,518)
{
Count=3
Point(Index)
link(onEvent3,5491408:doConvert,[])
link(Index,2790909:Value,[])
}
Add(MST_ColAction,4139610,777,119)
{
Action=9
Index=-2
MSTControl="excel"
}
Add(StrList,10151347,210,294)
{
Strings=#16:ВСТАВИТЬ("R4C2")|16:ВЫДЕЛИТЬ("R4C2")|24:СПЕЦИАЛЬНОЕ.ВЫДЕЛЕНИЕ(5)|16:РАМКА(6;1;1;1;1)|22:ШИРИНА.СТОЛБЦА(0;;0;3)|16:ВЫДЕЛИТЬ("R1C1")|0:|0:|
}
Add(DoData,1491782,413,518)
{
link(onEventData,12344087:doExecute,[])
link(Data,15503582:Var2,[])
}
Add(StrList,5709642,259,294)
{
Strings=#16:ВЫДЕЛИТЬ("R4C2")|24:СПЕЦИАЛЬНОЕ.ВЫДЕЛЕНИЕ(5)|12:КОПИРОВАТЬ()|16:ВЫДЕЛИТЬ("R1C1")|0:|0:|0:|
}
Add(ArrayEnum,6819062,217,455)
{
link(onItem,9600698:doCompare,[])
link(onEndEnum,1491782:doData,[(263,468)(263,524)])
link(Array,10581033:Var,[])
}
Add(StrCat,11792950,413,455)
{
Point(doClear)
link(Str1,15503582:Var1,[(419,446)(405,446)(405,495)])
}
Add(FormatStr,11528860,322,455)
{
DataCount=1
Mask="[%1]"
link(onFString,11792950:doStrCat,[])
}
Add(GetDataEx,15503582,413,490)
{
link(Data,11792950:Result,[])
}
Add(GetIndexData,10581033,217,399)
{
Count=6
link(onIndex,2790909:doValue,[])
link(Data2,10151347:Array,[])
link(Data3,5709642:Array,[(237,334)(279,334)])
link(Data5,13816779:Array,[(251,341)(328,341)])
link(Data6,12743108:Array,[(258,348)(377,348)])
}
Add(IndexToChanel,6178369,665,399)
{
Count=3
link(onEvent2,11227433:doSaveToStream,[])
link(onEvent3,7264878:doClear,[(711,419)(711,447)])
}
Add(Clipboard,2176761,875,406)
{
Unicode=0
}
Add(Convertor,3193568,791,406)
{
Mode=11
link(onResult,16732001:doWork2,[])
}
Add(MST_Save,11227433,721,399)
{
Delimiter="\t"
SaveColProp=1
MSTControl="excel"
link(onSaveToStream,3193568:doConvert,[])
}
Add(MST_Clear,7264878,721,441)
{
ClearAll=0
MSTControl="excel"
}
Add(DoData,9181073,798,532)
{
Data=String()
link(onEventData,16732001:doWork3,[(851,538)])
}
Add(HubEx,16732001,847,406)
{
link(onEvent,2176761:doPutText,[])
}
Add(Hub,7434029,98,385)
{
OutCount=5
link(onEvent1,12754501:In,[(123,391)(123,370)])
link(onEvent2,4153299:doWork,[])
link(onEvent3,10581033:doIndex,[])
link(onEvent4,6819062:doEnum,[(207,412)(207,461)])
link(onEvent5,1784739:doWork,[])
}
Add(FileSearch,11463807,511,84)
{
Ext="EXCEL.EXE"
link(onSearch,5712226:doExec,[])
}
Add(EnvVars,7002440,154,63)
{
Point(doEnum)
Point(onEnum)
link(onEnum,14724331:doCompare,[])
}
Add(StrMask,14724331,203,70)
{
Mask="Program*"
link(onTrue,6922651:doSplit,[])
}
Add(StrPart,6922651,259,77)
{
Char="="
Point(Right)
link(onSplit,1036196:doCompare,[])
}
Add(ChangeMon,10732084,364,84)
{
link(onData,14358072:doStrCatDlm,[])
}
Add(StrCatDelim,14358072,413,84)
{
Str2="\Microsoft Office\\root\"
link(onStrCatDlm,14885679:doReplace,[])
}
Add(StrMask,1036196,308,77)
{
Mask="C:\\Program Files*"
link(onTrue,10732084:doData,[])
}
Add(WinExec,5712226,560,84)
{
Param="/automation"
Point(onErrorExec)
link(onExec,1512985:doEnum,[])
}
Add(Replace,14885679,462,84)
{
SubStr="\"
DestStr="\\"
link(onReplace,11463807:doSearch,[])
}
Add(StrMask,9600698,273,455)
{
link(onFalse,11528860:doString,[])
}
Add(StrList,13816779,308,294)
{
Strings=#27:ПОМЕСТИТЬ.В.РАБОЧУЮКНИГУ(1)|16:ВЫДЕЛИТЬ("R1C1")|0:|
}
Add(LineBreak,14597557,364,462)
{
link(Out,11792950:doClear,[])
Primary=[12754501,-224,-98]
}
Add(StrList,12743108,357,294)
{
Strings=#26:СОХРАНИТЬ.КАК("Test.xlsx")|9:сигнал(4)|0:|0:|
}
Add(HubEx,9772588,770,532)
{
link(onEvent,9181073:doData,[])
}
Add(LineBreakEx,4153299,147,392)
{
}
Add(LineBreakEx,3882975,742,581)
{
Type=1
link(OnEvent,9772588:doWork3,[(774,587)])
}
Add(LineBreakEx,1784739,147,413)
{
}
Add(InfoTip,2696688,140,35)
{
Info=#16:Запуск Excel.exe|64:Вместо всего этого можно просто запустить Excel другим способом.|0:|
Width=477
Height=109
}
Add(InfoTip,12600035,182,266)
{
Info=#41:Списки команд для выполнения в Excel |
VAlign=1
HAlign=2
Width=491
Height=95
}

карма: 15

0