Пока еще не возможно присваивать значения свойствам или как это понимать?
Похоже так и есть, у меня такой же косяк...
Модератор: Модераторы
Пока еще не возможно присваивать значения свойствам или как это понимать?
Document.GetText.CreateTextCursor.SetPropertyValue('CharColor', 255);
Document.GetText.CreateTextCursor.SetPropertyValue('CharShadowed', True);
...
var
Form1: TForm1;
MSExcel : Variant;
const
ServerName = 'Excel.Application';
implementation
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
var s:widestring;
begin
try
MSExcel := CreateOleObject(ServerName);
except
WriteLn('Ошибка!');
Exit;
end;
if OpenDialog1.Execute then
begin
s:= OpenDialog1.FileName ;
MSExcel.WorkBooks.Open(s);
MSExcel.Visible := True;
try
MsExcel.ActiveWorkbook.Sheets.Item('FIO').select;
//---- Вылетает тут
except on E:Exception do
begin
memo1.Lines.Add(e.Message);
exit;
end;
end;
end;
end;
...
ViruZ писал(а):Наткнулся на грабли при попытке переноса функций из WordDll - создал тестовый пример - форма с Button, в обработчике OnClick код:
- Код: Выделить всё
procedure TForm1.Button1Click(Sender: TObject);
begin
s:=Utf8ToAnsi('Тест ворда из Лазаруса');
Wrd := CreateOleObject('Word.Application');
Wrd.Visible := true; //<==грабли тут
Wrd.Documents.Add;
Wrd.Selection.Font.Size := 20;
Wrd.Selection.TypeText(s);
Wrd.ActiveDocument.SaveAs('c:\test.doc');
Wrd.ActiveDocument.Close;
Wrd.Quit;
end;
Каким образом можно присвоить значение свойству обьекта? Или пока еще подождать, когда работа с OLE-обьектами будет полностью реализована и продолжать разработку DLL&
VirtUX писал(а):1. Есть-ли возможность использовать OLE для работы с xls-документами без установки на ПК самого M$ Office Excel?
function ApplyStylesheet(const XMLFile, XSLFile: String): WideString;
var
XML, XSL, fName: Variant;
Html: WideString;
begin
Html := '';
XML := CreateOleObject('MSXML2.DOMDocument.6.0');
XML.ValidateOnParse := True;
XML.Async := False;
XSL := CreateOleObject('MSXML2.DOMDocument.6.0');
XSL.ValidateOnParse := True;
XSL.Async := False;
try
fName := XMLFile;
XML.load( fName );
except
on E: EOleException do
MessageDlg('Загрузка XML', 'Ошибка чтения файла'#13+UTF8Encode(E.Message), mtError, [mbClose], 0);
end;
try
fName := XSLFile;
XSL.load( fName );
except
on E: EOleException do
MessageDlg('Загрузка XSL', 'Ошибка чтения файла'#13+UTF8Encode(E.Message), mtError, [mbClose], 0);
end;
try
Html := XML.transformNode(XSL);
except
on E: EOleException do
MessageDlg('XSLT преобразование', 'Ошибка преобразования'#13+ UTF8Encode(E.Message), mtError, [mbClose], 0);
end;
Result := Html;
end;
2er0_7011er4nce писал(а):Wrd.Visible := true; //<==грабли тут
1. Есть-ли возможность использовать OLE для работы с xls-документами без установки на ПК самого M$ Office Excel?
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 227