背景:

        最近公司文案同事提出一个需求,希望在文案编辑工作上使用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插件:

  1. 打开Visual Studio,并创建一个新的C#项目。选择“Office”类别,然后选择“Microsoft Office Word插件”作为项目类型。

  2. 在项目中,打开ThisAddIn.cs文件。在这个文件中,您将看到一个名为“Startup”方法的方法。这个方法在Word启动时自动运行。

  3. 在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("您单击了自定义按钮!");
}
  1. 保存并编译您的代码。然后,在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才是未来。

        需要上面示例源码可以联系我。

Logo

一座年轻的奋斗人之城,一个温馨的开发者之家。在这里,代码改变人生,开发创造未来!

更多推荐