win10 64位下,MATLAB配置notebook不成功问题

安装完matlab2014后,试着配置notebook

>> notebook -setup
Error using notebook>stopEverythingIfBadRegistry (line 76)
Word not properly installed: winword.exe not found


Error in notebook (line 26)

[wordPath, templatePath] = stopEverythingIfBadRegistry;

但是显示如下错误,开始以为是Matlab安装的问题。

搜索没有找到结果, 仔细查看了Matlab中关于notebook的配置,发现所谓的安装不过是将一个叫m-book.dot的模板文件拷贝到WORD存放模板目录的过程。而其中第一部是Matlab找到系统安装WORD的路径,上面出错一般是在第一步出错。既然这样,直接跳过第一步进行拷贝就行了

(1)在MATLAB安装目录下,找到一个叫m-book.dot的文件;

(2)找到WORD模板目录,一般是在C:\Users\Administrator\AppData\Roaming\Microsoft\Templates下,拷贝过去即可。

notebook怎么样用呢?首先搞清楚它是干什么的,看官方解释:

 notebook Open MATLAB Notebook in Microsoft Word (on Microsoft Windows platforms)
    notebook, by itself, launches Microsoft Word and creates a new MATLAB

    notebook called "Document 1."

实际上是创建一个Word文档,这个文档除了具备word文档属性,还可以利用matlab的数据理解能力和计算能力,简单来说可以在word中运行一些matlab命令,这对于做word课件是不错的选择(强烈建议用word来做matlab的课件,理由懂的自然懂,不解释)。

运行方式:

(1)matlab中输入notebook;(我的系统下不成功)

(2)直接运行word,新建一个文档,但是用的模板就是上面安装的m-book.dot

但是这一种方法在我的电脑上出错了,显示错误如下:

看来是64位不兼容问题,搜索一下,答案如下:

添加PtrSafe属性,将:
Private Declare  Function WinHelp Lib "USER32.DLL" Alias "WinHelpA" (ByVal hWnd As Integer, ByVal lpHelpFile _
    As String, ByVal wCmd As Integer, ByVal dwData As String) As Integer
Private Declare  Function GetActiveWindow Lib "USER32.DLL" () As Integer
改为:
Private Declare PtrSafe Function WinHelp Lib "USER32.DLL" Alias "WinHelpA" (ByVal hWnd As Integer, ByVal lpHelpFile _
    As String, ByVal wCmd As Integer, ByVal dwData As String) As Integer
Private Declare PtrSafe Function GetActiveWindow Lib "USER32.DLL" () As IntegerPtrSafe Function GetActiveWindow Lib "USER32.DLL" () As Integer

就是在弹出的宏里面加上一个ptrsafe即可。

大功告成,感谢百度大神!

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值