В C или C ++ круглые скобки являются необязательными для аргумента sizeof
... при условии, что аргумент не является типом:
void foo() {
int int_inst;
// usual style - brackets ...
size_t a = sizeof(int);
size_t b = sizeof(int_inst);
size_t c = sizeof(99);
// but ...
size_t d = sizeof int_inst; // this is ok
// size_t e = sizeof int; // this is NOT ok
size_t f = sizeof 99; // this is also ok
}
Я никогда не понимал, почему это так!
Я считаю, что многие люди пытались сделать что-то похожее на то, что пытаетесь сделать вы, и потерпели неудачу. Существует много разговоров о том, что невозможно запустить какие-либо решения на основе взаимодействия с офисом в серверном режиме (без присмотра и т. Д.).
Я знаю, что это, вероятно, не тот ответ, который вы искали, но, тем не менее, так оно и есть!
I ' У него были проблемы с автоматизацией Office из службы Windows под Windows Server 2008, хотя это нормально работает под Windows Server 2003. Проблема также возникает при вызове Open, хотя на самом деле он вызывает исключение, а не просто возвращает null. В любом случае, вы можете попробовать это ...
Я попытался последовать совету, данному H Ogawa в этой ветке MSDN , и, похоже, это сработало. Это странно,
[Изменить: URL исправленной ссылки]