对于一个客户,我创建了一个带有“新文档”按钮的全局模板,该模板显示了一个用户表单,允许用户从模板的选择中创建新文档,例如信件,发票等 最近,我们添加了报告选项。
从此用户窗体执行的代码非常简单,例如使用
int main(int argc, char** argv)
{
int test = 0;
const char* title = "GBemu";
bool isRunning = true;
SDL_Event mainEvent;
HWND windowHandler;
MSG menuHandler;
//Initialize the SDL Subsystems
if (SDL_Init(SDL_INIT_EVERYTHING) != 0)
{
SDL_Log("Unable to initialize SDL subsystems: %s", SDL_GetError());
return 1;
}
//Create a window pointer + allocate a window object to it.
SDL_Window* mainWindow = SDL_CreateWindow(title, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 1000, 1000, NULL);
windowHandler = utilities::getSDLWinHandle(mainWindow);
//Activate the menu bar of the window
utilities::ActivateMenu(windowHandler);
SDL_Renderer* mainRenderer = SDL_CreateRenderer(mainWindow, -1, 0);
SDL_SetRenderDrawColor(mainRenderer, 0, 0, 0, 255);
SDL_RenderPresent(mainRenderer);
while (isRunning)
{
SDL_PollEvent(&mainEvent);
switch (mainEvent.type)
{
case SDL_WINDOWEVENT_CLOSE:
mainEvent.type = SDL_QUIT;
SDL_PushEvent(&mainEvent);
break;
case WM_COMMAND:
case SDL_QUIT:
isRunning = false;
break;
};
utilities::getMenuEvent(&menuHandler,windowHandler);
}
return 0;
}
创建新文档。
按照我的标准,报告模板非常复杂,带有AutoNew和AutoClose宏,一个EventClassModule,它可以写入和读取CustomDocumentProperties,打开几个特定的Word文档,从中复制文本并将其粘贴到Report文档中等
首次创建新报告时,它按计划工作;但是第二次(在同一Word会话中)使用“报告”选项,则会发生“运行时错误5460”。然后,其他任何文档选项都返回相同的错误。
退出Word并启动一个新的Word会话会将所有内容恢复为正常,直到再次调用报表模板为止。
奇怪的是,当直接从资源管理器中创建基于它的新文档时,报表模板可以正常工作而不会出现错误。
使用Windows 7 Pro的Word 2016(365)中会出现问题,而使用Windows 10的Word 2013中不会发生此问题。
曾经经历过这样的事情吗?非常感谢您的帮助。
运行时错误5460:'发生了文件错误。'
无法进行调试。
“报告”模板有数千行代码,我无法找出是导致错误的“报告”模板中的代码,还是“全局”模板中的代码。
如上所述,Report模板在Explorer中使用时效果很好,并且在2013年通过Global模板调用时,一切也都可以在这里使用。
问题解决了! 我遵循了@macropod的建议,并添加了路径。 代替仅使用
Documents.Add Template:="Letter.dotm", NewTemplate:=False
我将代码更改为:
'…
If OptionButton3.Value = True Then
Documents.Add Template:="Report.dot", NewTemplate:=False
End If
'…
谢谢!