💡大家好,我是可夫小子,关注AIGC、读书和自媒体。解锁更多ChatGPT、AI绘画玩法。
Office 的办公软件Word,是我们日常的文字工作的阵地。与ChatGPT的文字生成功能有天然的互补性。微软的Office365 Copilot已经集成了这个功能,但需要收费。我们可以使用现有的Word + ChatGPT,手动来回Copy,但显然也不够丝滑。如果能在现有的Word中嵌入ChatGPT就是最好的解决方案。
网上有许多相关教程,在原有的Word软件中接入ChatGPT,但由于环境变化,或者语焉不详,导致很多案例实际都执行不成功。本文档就是结合相关教程,通过VB宏方式接入ChatGPT,最终调试完成,分享给大家手把手详细教程。
说明
不同的版本和平台,可能有些差异,需要根据实际情况来调整。我的版本信息:
- PC版本:Windows 10
- Word版本:Microsoft Word 2013
第一步,创建宏模板
- 新建一个Word文档
- 打开开发工具视图:文件→选项→自定义功能区,勾选开发工具
- 回到主界面,点击:开发工具 → Visual Basic
- 这样就进入了VB的编辑窗口,点击插入→模块,就新建了一个代码框
- 复制下面的代码,把your_api_key替换成你自己的OpenAI的api_key,填入编辑窗口
Sub ChatGPT() Dim selectedText As String Dim apiKey As String Dim response As Object, re As String Dim midString As String Dim ans As String If Selection.Type = wdSelectionNormal Then selectedText = Selection.Text selectedText = Replace(selectedText, ChrW$(13), "") apiKey = "your_api_key" URL = "https://api.openai.com/v1/chat/completions" Set response = CreateObject("MSXML2.XMLHTTP") response.Open "POST", URL, False response.setRequestHeader "Content-Type", "application/json" response.setRequestHeader "Authorization", "Bearer " + apiKey response.Send "{""model"":""gpt-3.5-turbo"", ""messages"":[{""role"":""user"",""content"":""" & selectedText & """}], ""temperature"":0.7}" re = response.responseText midString = Mid(re, InStr(re, """content"":""") + 11) ans = Split(midString, """")(0) ans = Replace(ans, "\n", "") Selection.Text = selectedText & vbNewLine & ans Else Exit Sub End If End Sub
到此宏的VB编写完成。
第二步,添加工具栏图标
这一步的主要目标是在Word菜单栏,新建一个调用的入口
- 打开文件→选项→自定义功能区(跟第一步一样)
- 在自定义功能区,先新建选项卡,再新建组,然后在宏下面把上一步创建的宏放到里面。
- 这样就在Word中多了一个ChatGPT选项卡
第三步,使用
- 文档空白处写一段文字,如:写一篇关于夏天的散文,然后选中
- 点击ChatGPT选项卡→ChatGPT模块,等一下就可以看到生成的内容了
注意事项
- 需要导入一个库JsonConverter库。用于Json数据的解析
下载地址:https://github.com/VBA-tools/VBA-JSON
下载JsonConverter.bas,放在本地,然后在VB编辑窗口,文件→导入文件 - 还需要打开一些内部的库:工具→引用
需要打开的有如下: - 如果有安全提示错误,还需要把VB安全选项设置一下:文件→选项→信任中心→信任中心设置
把启用所有宏打开 - 另外,网络还需要魔法,否则请求出错。
总结
到此,就在Word文档的菜单栏新建了一个ChatGPT的选项卡,当我们需要写周报、写总结、写作文的时候,拟一个题目,选中点击一下图标,就把ChatGPT的能力接入到Word中了,使用过程非常丝滑。这个打通了,其中在Office的办公软件如Excel,PPT都可以接入,后续有需要,我再写一篇教程。