Имя: Пароль:
1C
1С v8
v8: передать параметр в макрос word
0 адинэсниг1
 
08.07.13
15:36
1. нормальный вопрос 0% (0)
2. автор, иди учись программировать 0% (0)
Всего мнений: 0

onprint = поле ввода.значение;
           ТекстМакроса = "Sub VBAL1()
           | Application.PrintOut FileName:="""", Range:=wdPrintAllDocument, Item:= _
           |    wdPrintDocumentContent, Copies:=1, Pages:=???, PageType:=wdPrintAllPages, _
           |    ManualDuplexPrint:=False, Collate:=True, Background:=True, PrintToFile:= _
           |    False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
           |    PrintZoomPaperHeight:=0
           |    End Sub";
           
           
           Word = Новый COMОбъект("Word.Application");
           Word.Documents.Open("d:/1.docx");
           Word.Application.Visible=0;
           VB = Word.VBE.ActiveVBProject.VBComponents;
           Cnt = VB.Count();
           VB.Add(1);
           VB.Item(Cnt+1).CodeModule.InsertLines(1,ТекстМакроса);
           Word.Application.Run("VBAL1");
автор, иди учись программир

Как передать значание поля в параметр Pages?
пробывал Pages:="+onprint+",
Pages:="""+onprint+""",
Pages:="+символ(34)+onprint+символ(34)+".
Во всех случаях печатает все страницы, невзирая на занчанеие.

ps. пробывал печатать и без макроса, не взлетает.
примерно так: msword.printout(,,,,,,,,onprint,)
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой