C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Открытие файла ворд, с указанием кодировки
Gedeon
Отправлено: 09.03.2006, 16:22


Ветеран

Группа: Модератор
Сообщений: 1742



Если файл с неюникодной кодировкой в ворде открывать руками, то он спрашивает какую выбрать, правильную если ткнуть все ОК, если я открываю док программно, то он скотина ставит ему по моему вьетнамскую виндовс, вместо ср1251, как-то его можно образумить?
avc*
Отправлено: 09.03.2006, 17:07


Не зарегистрирован







А Encoding метода Open пробовал?
Gedeon
Отправлено: 10.03.2006, 08:50


Ветеран

Группа: Модератор
Сообщений: 1742



Пробовал вчера но как-то неактивно, слету не получилось, сеня понастойчивее займусь.
Gedeon
Отправлено: 10.03.2006, 12:15


Ветеран

Группа: Модератор
Сообщений: 1742



Все, получилось
CODE

        CoInitialize(NULL);
Variant vMSWord;
vMSWord = Variant::CreateObject("word.application");
vMSWord.OlePropertySet("Visible", true);


// начало обработки fbal1.prn
AnsiString fname = ExtractFilePath(Application->ExeName) + "cfbal1.prn";



OleVariant vFileName;
Variant vWDocuments,
  vWDocument,
  vReadOnly,
  vConfirmConversions,
  vAddToRecentFiles,
  vReadPass,
  vTemplPass,
  vRevert,
  vWritePasswordDocument,
  vWritePasswordTemplate,
  vFormat,
  vEncoding;

vFileName = fname;
vConfirmConversions = false;
vAddToRecentFiles = false;
vReadOnly = true;
vReadPass = "";
vTemplPass = "";
vRevert = true;
vWritePasswordDocument = "";
vWritePasswordTemplate = "";
vFormat = "wdOpenFormatText";
vEncoding = 1251;
vWDocuments = vMSWord.OlePropertyGet("Documents");
vWDocument = vWDocuments.OleFunction("Open",
          vFileName,
          vConfirmConversions,
          vReadOnly,
          vAddToRecentFiles,
          vReadPass,
          vTemplPass,
          vRevert,
          vWritePasswordDocument,
          vWritePasswordTemplate,
          vFormat,
          vEncoding);
avc*
Отправлено: 10.03.2006, 13:05


Не зарегистрирован







Отлично, поздравляю!
vFormat = "wdOpenFormatText";
vEncoding = 1251;
Все оказалось так просто smile.gif smile.gif smile.gif
Gedeon
Отправлено: 10.03.2006, 14:28


Ветеран

Группа: Модератор
Сообщений: 1742



Вот не зря говорят, если что-то долго не получается почитай наконец документацию smile.gif .

Вернуться в Технологии COM/DCOM, ActiveX