Виталий писал(а):
Руслан Пархуць писал(а):
Виталий писал(а):
мне нужно выполнение этого скрипта для каждого участка отдельно
тодi якось так, але потрiбно протестувати на "живому" ...
@Map.DeselectAll
@Map.SelectLayer ID9558070
;
$CMap=@ActivateMap
$Sel=@Map.Selected.List
@Text[1].Add $Sel
$Count=@Text[1].Count
@Map.DeselectAll
@If $Count=0 Then @Goto %End
%Loop
$SelObj=@Text.Line[$Count]
@Map.SelectObject $SelObj
;
;
@Map.ChangeSelectedLayer ID7397976
@Map.Copy
%Library.СРЗД_ДО
@Map.Paste
;Печать СРЗД_ДО
$Papka=@ProgramFolder
$PapkaDoc0=$Papka\Documents
;Сохранить
@Map.DeselectAll
@Map.SelectLayer ID7397976
$Obj=@Map.NextSelected
@If $Obj=0 Then @Break Виберiть ділянку
; параметри карти
$Prop=@Map.GetProperties
@Text.Text=$Prop
; перший запис - масштаб + назва файлу по шаблону користувача
$Line=@Text.Line[1]
; вирiзаємо частину параметру без масштабу
$Scale=@StringPart 1 $Line
$Param=@Calc P[NK] P[AS]_P[FI]_СРЗД_ДО
$Param=@DequoteText $Param
; формуємо назву файлу
$FName=@Map.Object[$Obj].CalculateFormula $Param
; запускаємо формування шаблону
@ExecuteDocument $TemplName.DMT
; вiкно дiалогу для збереження файлу
%SelectFile
$File=@Map.SaveToFile $PapkaDoc0\$FName.dmf
; зберiгаємо в DMF
@Map.SaveToFile $File
@Dialog.InfoBox 1000 У С П І Ш Н О З А В Е Р Ш Е Н О !
Файл | Предварительный просмотр
@CloseMap
;
@ActivateMap $CMap
@Map.ChangeSelectedLayer ID11424938 // це не знаю, що мiняє
@Map.DeselectObject $SelObj
$Count=$Count-1
@If $Count>0 Then @Goto %Loop
%End
;
@Map.DeselectAll
@Map.SaveToFile