Форум программистов, компьютерный форум CyberForum.ru

Сервер занят (word) - C++

Восстановить пароль Регистрация
 
Xtir
11 / 11 / 0
Регистрация: 10.07.2010
Сообщений: 130
18.05.2011, 10:28     Сервер занят (word) #1
кто может объяснить объяснить по какой причине вылетает такая ошибка?
делаю так, создаю глобальные переменные:
C++
1
2
3
4
_Application app;
Documents oDocs;
_Document oDoc;
COleVariant vOpt(DISP_E_PARAMNOTFOUND, VT_ERROR);
потом сам код, который сохраняет один файл в другой с заменой слов:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
    if(app == NULL)
    {
        if(!app.CreateDispatch("Word.Application"))
        {
            AfxMessageBox("ГЋГёГЁГЎГЄГ* ïðè Г±ГІГ*ðòå Word'Г*");
            return;
        }
    }
 
    app.SetVisible(false);
    oDocs = app.GetDocuments();
 
    oDoc = oDocs.Open(COleVariant("filefrom.doc"),
        vOpt, vOpt, vOpt, vOpt, vOpt, vOpt, vOpt,
        vOpt, vOpt, vOpt, vOpt,
        vOpt, vOpt, vOpt, vOpt);
    
    ReplaceWord("wordfrom", "wordto");
 
    COleVariant covTrue((short)TRUE), covFalse((short)FALSE);
 
    oDoc = app.GetActiveDocument();
 
    oDoc.SaveAs(COleVariant("fileto.doc"),
        COleVariant((short)0),
        covFalse, COleVariant(""), covTrue, COleVariant(""),
        covFalse, covFalse, covFalse, covFalse, covFalse, covFalse, covFalse, covFalse,
        covFalse, covFalse);
 
    oDoc.Close(covFalse, covFalse, covFalse);
    app.Quit(covFalse, covFalse, covFalse);
    app = NULL;
функция ReplaceWord:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
void ReplaceWord(CString find, CString replace)
{
    COleVariant covTrue((short)TRUE), covFalse((short)FALSE);
    Selection oSel;
    oSel = app.GetSelection();
    Find oFind = oSel.GetFind();
    oFind.ClearFormatting();
    oFind.ClearAllFuzzyOptions();
        oFind.Execute(COleVariant(find),    
        covFalse,                               
        covTrue,                                
        covFalse,                               
        covFalse,                               
        covFalse,                               
        covTrue,                                
        COleVariant(short(wdFindContinue)),     
        covFalse,                               
        COleVariant(replace),                   
        covTrue,                                
        covFalse,                               
        covFalse,                           
        covFalse,                           
        covFalse                            
        );
}
как-то непонятно, иногда рабоатет просто идеально, а иногда может вылезти такая ошибка(см. рисунок), от который можно избавить кликнув 1 раз "переключиться", а можно хоть 100 раз кликнув не изюавиться от неё. Может кто сталкивался с этим и знает в чём проблема? очень надеюсь на ваше помощь
Миниатюры
Сервер занят (word)  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2011, 10:28     Сервер занят (word)
Посмотрите здесь:

C++ Чтение из документа Word
C++ Чтение Word файлов в C++
Hello Word C++
Работа с документами word C++
C++ запись в word,excel
Сумму и количество цифр в числе (Не могу понять ошибку, а препод занят :D) C++
C++ и Word/Excel. Библиотеки C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 00:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru