-
Jimmy (08.02.09 13:07) [0]Вновь прошу помощи. Макрос Word'а выдал такой скрипт при рисовании кривой:With ActiveDocument.Shapes.BuildFreeform(msoEditingAuto, 122.4, 165.6)
.AddNodes msoSegmentCurve, msoEditingAuto, 360#, 194.4
.ConvertToShape.Select
End With
Вот что я пишу на Delphi:Procedure TForm1.Button1Click(Sender: TObject);
Const msoEditingAuto=0;
msoSegmentCurve=1;
Var Word: OleVariant;
begin
Word := CreateOleObject('Word.Application');
Word.Visible := True;
Word.Documents.Add;
Word.ActiveDocument.Shapes.BuildFreeform(msoEditingAuto, 122.4, 165.6).AddNodes( msoSegmentCurve, msoEditingAuto, 360, 194.4);
Word.ActiveDocument.Shapes.BuildFreeform(msoEditingAuto, 122.4, 165.6).ConvertToShape.Select;
Word := Unassigned;
end;
При запуске выдается ошибка:"отказано в доступе" при попытке Select. Подскажите, пожалуйста, в чем дело? Заранее спасибо! -
Сергей М. © (08.02.09 13:24) [1]Точно "Отказано в доступе" ?
Или все же "Access violation" ? -
Smile (08.02.09 14:01) [2]А с этим:Var Word: OleVariant;
я бы постарался быть аккуратнее, дальше код не анализировал:) -
Jimmy (08.02.09 15:47) [3]>Сергей М.
Точно, "отказано в доступе" -
Сергей М. © (09.02.09 09:08) [4]procedure TForm1.Button3Click(Sender: TObject);
Const
msoEditingAuto=0;
msoSegmentCurve=1;
var
MsWord, Shape: OleVariant;
begin
MsWord := CreateOleObject('Word.Application');
MsWord.Visible := True;
MsWord.Documents.Add;
Shape := MsWord.ActiveDocument.Shapes.BuildFreeform(msoEditingAuto, 122.4, 165.6);
Shape.AddNodes(msoSegmentCurve, msoEditingAuto, 360, 194.4);
Shape.ConvertToShape.Select;
end; -
Jimmy (09.02.09 15:49) [5]Огромное спасибо!!! Очень выручили!!!
-
Помогите пожалуйста написать приведенный ниже скрипт в Delphi:
Sub mac1()
Selection.Editors.Add wdEditorEveryone
ActiveDocument.Protect Password:="123", NoReset:=False, Type:= _
wdAllowOnlyReading, UseIRM:=False, EnforceStyleLock:=False
End Sub