获取当前打开Word文档的名字和路径以及取消自己添加的目录菜单
2008-03-24 14:24
766 查看
一、获取当前打开Word文档的名字和路径
CComPtr <Word::_Document> pDoc;
hr = m_spApp-> get_ActiveDocument(&pDoc);
if (pDoc != NULL)
{
CComBSTR bstrName;
pDoc-> get_FullName(&bstrName);
USES_CONVERSION;
MessageBox(NULL, W2CT(bstrName), _T("当前文档"), MB_OK);
}
上面的代码不能加在OnConnection中,如果要加在OnConnection中,必须先响应_Application的DocumentChange事件,然后才能得到ActiveDocument。
二、取消自己添加的目录菜单
可以用Delete方法,但是在Delete之前必须先unadvise。
假设你的组件是按照下面的继承方式来实现按钮点击响应的:
class ATL_NO_VTABLE CYourCom :
public ...,
public IDispEventSimpleImpl <1, CYourCom, &__uuidof(_CommandBarButtonEvents)>
那么你应该用下面的方式来取消事件通知:
IDispEventSimpleImpl <1, CYourCom, &__uuidof(_CommandBarButtonEvents)> ::DispEventUnadvise(m_spButton);
菜单栏和工具栏的实现类似。
更多技术文章请参看施昌权的个人网站: http://www.joyvc.cn
CComPtr <Word::_Document> pDoc;
hr = m_spApp-> get_ActiveDocument(&pDoc);
if (pDoc != NULL)
{
CComBSTR bstrName;
pDoc-> get_FullName(&bstrName);
USES_CONVERSION;
MessageBox(NULL, W2CT(bstrName), _T("当前文档"), MB_OK);
}
上面的代码不能加在OnConnection中,如果要加在OnConnection中,必须先响应_Application的DocumentChange事件,然后才能得到ActiveDocument。
二、取消自己添加的目录菜单
可以用Delete方法,但是在Delete之前必须先unadvise。
假设你的组件是按照下面的继承方式来实现按钮点击响应的:
class ATL_NO_VTABLE CYourCom :
public ...,
public IDispEventSimpleImpl <1, CYourCom, &__uuidof(_CommandBarButtonEvents)>
那么你应该用下面的方式来取消事件通知:
IDispEventSimpleImpl <1, CYourCom, &__uuidof(_CommandBarButtonEvents)> ::DispEventUnadvise(m_spButton);
菜单栏和工具栏的实现类似。
更多技术文章请参看施昌权的个人网站: http://www.joyvc.cn
相关文章推荐
- 获取当前打开PPT文档的名字及路径
- ubuntu系统右键菜单添加【当前路径打开终端】选项
- 临时搞两天VC,在VC里如何获取当前程序的名字和路径以及如何分割字符串
- VC新建目录CreateDirectory、得到exe存放路径GetModuleFileName、获取当前目录GetCurrentDirectory、CFileDialog设置打开默认路径
- VC新建目录CreateDirectory、得到exe存放路径GetModuleFileName、获取当前目录GetCurrentDirectory、CFileDialog设置打开默认路径
- 按键(vb)启动指定目录的程序以及获取当前应用路径
- 【ahk】列出当前开着的目录以及开着的xls文档路径
- 给文件夹添加命令行窗口菜单,直接在命令行下打开当前目录
- Python批量打开文件以及获取文件名、目录及路径
- iOS获取应用当前Caches目录路径以及当前日期
- 获取当前打开的WORD文件路径
- SharedPreferences以及获取当前目录
- Linux学习之路--获取某目录下的所有文件的名字(包括路径)
- golang mac 获取当前应用程序目录,文件名,相对路径
- Python获取当前目录下所有文件的绝对路径并存储在文件中
- windows和linux下获取当前程序路径以及cpu数
- Win32快速获取当前模块的名字和全路径
- ubuntu下右键菜单添加新建word、excel文档等快捷方式.
- 在指定路径创建文件夹, 获取EXE文件的当前目录
- [linux]打开当前目录以及PDF文件-转帖