|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.10.2008, 18:52 | #1 |
Пользователь
Регистрация: 25.05.2008
Сообщений: 53
|
OLE
Помогите, пожалуйста, перевести выражение из Delphi на C++:
Delphi: ... var E:Variant; ... begin E:=CreateOleObject('Excel.Applicati on'); E.Visible:=true; if Form1.OpenDialog1.Execute then E.WorkBooks.Open(Form1.OpenDialog1. FileName,ReadOnly=FALSE); end; ... C++: ... Variant E; ... { E=CreateOleObject("Excel.Applicatio n"); E.OlePropertySet("Visible",true); if (!Form1->OpenDialog1->Execute) { ? } } Как выглядит на С++ выделенное красным выражение? |
29.10.2008, 10:10 | #2 |
Пользователь
Регистрация: 25.05.2008
Сообщений: 53
|
Полная спецификация вызова метода Open имеет следующий вид:
Open(FileName, UpdateLink, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMRU); Обязательным является первый аргумент.Но мне нужен был ещё ReadOnly=false, потому что при игнорировании его у меня Excel открывал файл в режиме только для чтения автоматически. Между FileName и ReadOnly стоит UpdateLink - на С++ мне нужно было его проигнорировать, на Delphi это делается очень просто. На одном немецком сайте наткнулся на одно выражение: Variant vFileName, vWDocuments, vWDocument, vReadOnly, vLink, vFormat, vReadPass; AnsiString strOpenFile, strPasswort; vFileName = Variant(strOpenFile); // vFileName = "c:\\test2.xls"; vLink = Unassigned; vReadOnly = false; vFormat = Unassigned; // vReadPass = strPasswort; vReadPass = "test"; wbSet.OleFunction("Open", vFileName, vLink, vReadOnly, vFormat, vReadPass); Попробовал написать у себя такое выражение: Variant WorkBooks=E.OlePropertyGet("WorkBoo ks"); WorkBooks.OleFunction("Open",OpenDi alog1->FileName.c_str(),Unassigned,false) ; Всё заработало как в Delphi. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Можно ли использовать ole в .net? | engineslava | Общие вопросы .NET | 0 | 09.09.2008 10:59 |
Ошибка OLE Error 800A03EC | fluxion | БД в Delphi | 4 | 02.05.2008 05:12 |
Печать из OLE | Experementator | Общие вопросы Delphi | 1 | 25.04.2008 20:25 |
OLE ??? | Selena | Общие вопросы Delphi | 3 | 05.01.2008 18:00 |
OLE-контейнер | Flyer | БД в Delphi | 6 | 28.08.2007 16:27 |