背景:
最近公司文案同事提出一个需求,希望在文案编辑工作上使用AI工具,提高生产效率,当然也受ChatGPT这波潮流影响。ok,既然需求来了,作为技术部门那只能接下需求了。省略需求调研过程N个字...。总结起来:1、希望工具整合到Word中(文案编辑嘛);2、AI写作功能;3、文案自动润色修改;3、拼写检测替换;等等等。差不多就是低配版微软copilot嘛~
AI开发:
调研完,那就开始干吧。好家伙,第一步就尬住了,说来惭愧,作为一名开发多年的程序员没写过office插件的相关项目,大名鼎鼎的C#也就听过名字而已。
重头学肯定是没必要的,那怎么办?决定把这个开发任务交给chatgpt来完成,不试不要紧,反正作为程序员还是慌了。先看效果:
是不是看起来还真有低配copilot的赶脚。别怀疑~上面的程序都是chatgpt自己编写的,因为真的没学过C# ,至于能开发出多完善的功能我觉得就取决与需求的描述能力了,产品经理要一统天下了吗。
具体怎么做呢,首先,我们需要定义我们的插件的功能和目的。按照产品需求的思路。把不同的功能需求按照1、2、3点这样喂给ChatGPT。只要需求描述得当,编码质量那个杠杠的。
例如首先问了下怎么开发office word插件,毕竟不会不代表就不用学了嘛。
问:.net开发office word插件教程示例
答:
下面是一个简单的教程示例,演示如何使用.NET开发Office Word插件:
打开Visual Studio,并创建一个新的C#项目。选择“Office”类别,然后选择“Microsoft Office Word插件”作为项目类型。
在项目中,打开ThisAddIn.cs文件。在这个文件中,您将看到一个名为“Startup”方法的方法。这个方法在Word启动时自动运行。
在Startup方法中,编写您要执行的代码。例如,您可以在这里创建一个新的自定义菜单项,并在单击菜单项时触发一个事件。以下是一个简单的示例代码:
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
// 创建一个新的自定义菜单项
Office.CommandBarPopup customMenu =
(Office.CommandBarPopup)this.Application.
CommandBars["Menu Bar"].Controls.Add(
Office.MsoControlType.msoControlPopup,
missing, missing, missing, true);
customMenu.Caption = "我的自定义菜单项";
// 创建一个新的菜单项,并将其添加到自定义菜单项中
Office.CommandBarButton customButton =
(Office.CommandBarButton)customMenu.Controls.Add(
Office.MsoControlType.msoControlButton,
missing, missing, 1, true);
customButton.Caption = "单击我";
customButton.Click += new Office.
_CommandBarButtonEvents_ClickEventHandler(
customButton_Click);
}
// 在单击自定义按钮时触发的事件
void customButton_Click(Office.CommandBarButton Ctrl, ref bool CancelDefault)
{
// 在这里添加要执行的代码
MessageBox.Show("您单击了自定义按钮!");
}
保存并编译您的代码。然后,在Word中启动插件,您将看到一个名为“我的自定义菜单项”的新菜单项。单击菜单项上的按钮将触发一个消息框,显示“您单击了自定义按钮!”。
希望这个简单的教程示例可以帮助您开始开发自己的Office Word插件。
看完示例心里就有底了,只要在上面的基础框架上填充需求就可以了。于是接着问:
问:
我希望在上面的插件菜单项添加4个按钮,1、文案润色,2、拼写检测,3、语法检测,4、黑名单上下文检测。并给4个按钮点击事件预留实现方法
答:巴拉巴拉输出一堆代码,直接复制粘贴到vs中。
问:
/ 在文案润色按钮单击时触发的事件
void proofreadButton_Click(Office.CommandBarButton Ctrl, ref bool CancelDefault)
{
// 在这里添加文案润色的实现代码
MessageBox.Show("执行文案润色操作!");
}
我希望这个方法能把word中选中的文档,通过调用openai gpt模型,告诉他帮我润色改写选中文案。并把结果弹出让用户确认是否应用到选中的文档
答:巴拉巴拉输出一堆代码,直接复制粘贴到vs中。
问:
// 在拼写检测按钮单击时触发的事件
void spellcheckButton_Click(Office.CommandBarButton Ctrl, ref bool CancelDefault)
{
// 在这里添加拼写检测的实现代码
MessageBox.Show("执行拼写检测操作!");
}
我希望你能帮我完成拼写检测的代码,具体需要实现把拼写错误的单词在另外一个弹窗中展示,并允许用户输入修改后的单词,用户点击确认按钮后对文档进行替换
答:巴拉巴拉输出一堆代码,直接复制粘贴到vs中。
问:
private void aiWritingButton_Click(Office.CommandBarButton Ctrl, ref bool CancelDefault)
{
// 在这里编写点击按钮后的逻辑
}
我希望你帮我实现这个方法,主要需求是在word中弹出一个工作区,工作区由3部分组成,第一部分是一个richtext用户用户输入AI写作的文本大纲,第二部分也是一个richtext用于显示ai写作的结果,第三部分是2个按钮,第一个按钮是开始写作,点击后第二部分显示写作中,并调用把第一部分的内容chatgpt,返回结果后显示在第二部分的richtext,第二个按钮是应用,电击后把第二部分插入到word中
答:巴拉巴拉输出一堆代码,直接复制粘贴到vs中。
等等其他省略了...
总结:
总结起来就是把大需求拆成小需求喂给ChatGPT,在多次和AI的需求沟通后,慢慢找到合适输入的ChatGPT的描述方式,输出的代码质量也会越来越好。好家伙,以后程序员不也要学说话的艺术了吗,不过这对产品经理真是一波利好啊。
AI的时代真的来了,希望大家不要恐惧焦虑,拥抱AI才是未来。
需要上面示例源码可以联系我。