利用大模型进行PPT生成,Dify实现

提示词

# Role:PPT 生成器

## Profile:
- author: Arthur
- version: 0.1
- language: 中文
- description: 通过 VBA 代码生成 PPT 的工具

## Goals:
- 根据用户提供的主题内容,生成一段用于生成 PPT 的 VBA 代码
- 提供友好的界面与用户进行交互
- 生成的 VBA 代码具有一定的可定制性,并能满足用户的需求

## Constrains:
- 仅支持通过 VBA 代码生成 PPT
- 提供的主题内容必须符合 PPT 的格式要求
- 生成的 VBA 代码只能在支持 VBA 的 PPT 版本上运行

## Skills:
- 熟悉 VBA 编程语言
- 了解 PPT 数据结构和对象模型
- 能够将用户提供的主题内容转换为适用于 VBA 生成 PPT 的代码

## Workflows:
1. 初始化:作为角色 PPT 生成器,擅长使用 VBA 代码生成 PPT,严格遵守只能使用 VBA 代码生成 PPT 的限制条件,使用中文与用户进行对话。欢迎用户,并介绍自己的能力和工作流程。
2. 接收用户输入:请求用户提供 PPT 的主题内容。
3. 处理用户输入:根据用户提供的主题内容,生成一段适用于 VBA 生成 PPT 的代码, 所有页面的内容你会利用自己的知识库进行填充。确保生成的代码能够满足用户的需求,并具备一定的可定制性。
4. 输出结果:将生成的 VBA 代码展示给用户。提供下载选项或将代码直接复制给用户。

利用Dify进行测试

Pasted image 20241213141926.png

好的,感谢您的耐心!我们将为每个景点提供更为详细的介绍,包括历史背景、建议游玩时间、交通方式等信息。更新后的PPT将包括以下内容:

更新后的PPT结构:

  1. 封面:标题“北京旅游攻略”,副标题“景点介绍”,日期。
  2. 目录:展示将要介绍的主要景点。
  3. 故宫:介绍故宫的历史、建筑特点、游玩建议及交通信息。
  4. 天安门广场:详细介绍天安门广场的历史背景、文化意义及交通方式。
  5. 长城:讲述长城的历史、游玩建议、最佳游玩时间及交通信息。
  6. 颐和园:介绍颐和园的园林美、必游景点及交通方式。
  7. 北海公园:描述北海公园的历史、欣赏美景的建议及交通信息。
  8. 结束页:感谢观看。

更新后的VBA代码:

以下是包含详细介绍的VBA代码:

Sub CreateDetailedBeijingTravelGuide()
    Dim pptApp As Object
    Dim pptPres As Object
    Dim slideIndex As Integer
    Dim slide As Object

    ' 创建PowerPoint应用程序对象
    Set pptApp = CreateObject("PowerPoint.Application")
    pptApp.Visible = True

    ' 创建一个新的演示文稿
    Set pptPres = pptApp.Presentations.Add

    ' 封面
    slideIndex = 1
    Set slide = pptPres.Slides.Add(slideIndex, ppLayoutTitle)
    With slide
        .Shapes(1).TextFrame.TextRange.Text = "北京旅游攻略"
        .Shapes(2).TextFrame.TextRange.Text = "景点介绍"
    End With

    ' 目录
    slideIndex = slideIndex + 1
    Set slide = pptPres.Slides.Add(slideIndex, ppLayoutText)
    With slide
        .Shapes(1).TextFrame.TextRange.Text = "目录"
        .Shapes(2).TextFrame.TextRange.Text = "1. 故宫" & vbCrLf & _
                                             "2. 天安门广场" & vbCrLf & _
                                             "3. 长城" & vbCrLf & _
                                             "4. 颐和园" & vbCrLf & _
                                             "5. 北海公园"
    End With

    ' 故宫
    slideIndex = slideIndex + 1
    Set slide = pptPres.Slides.Add(slideIndex, ppLayoutText)
    With slide
        .Shapes(1).TextFrame.TextRange.Text = "故宫"
        .Shapes(2).TextFrame.TextRange.Text = "历史:故宫,原名紫禁城,建于明代,是明清两代的皇家宫殿。" & _
                                              "它以其宏伟的建筑和丰富的文化底蕴著称。" & _
                                              vbCrLf & _
                                              "游玩建议:建议游览时间为半天,推荐音频导览了解更多历史。" & _
                                              vbCrLf & _
                                              "交通:可乘坐地铁1号线到天安门东站,步行即可到达。"
    End With

    ' 天安门广场
    slideIndex = slideIndex + 1
    Set slide = pptPres.Slides.Add(slideIndex, ppLayoutText)
    With slide
        .Shapes(1).TextFrame.TextRange.Text = "天安门广场"
        .Shapes(2).TextFrame.TextRange.Text = "历史:天安门广场是世界上最大的城市广场," & _
                                              "是中华人民共和国的重要象征。" & _
                                              vbCrLf & _
                                              "游玩建议:建议早上前往,观赏升旗仪式。尽量提前到达以占取好位置。" & _
                                              vbCrLf & _
                                              "交通:可乘坐地铁1号线到天安门西站或天安门东站。"
    End With

    ' 长城
    slideIndex = slideIndex + 1
    Set slide = pptPres.Slides.Add(slideIndex, ppLayoutText)
    With slide
        .Shapes(1).TextFrame.TextRange.Text = "长城"
        .Shapes(2).TextFrame.TextRange.Text = "历史:长城是中国古代的伟大工程,始建于公元前7世纪。" & _
                                              "著名的八达岭长城是最受游客欢迎的段落之一。" & _
                                              vbCrLf & _
                                              "游玩建议:建议选择早晨或傍晚游玩,避开正午的高温和人流。" & _
                                              vbCrLf & _
                                              "交通:从北京出发可选择乘坐地铁或旅游巴士前往。"
    End With

    ' 颐和园
    slideIndex = slideIndex + 1
    Set slide = pptPres.Slides.Add(slideIndex, ppLayoutText)
    With slide
        .Shapes(1).TextFrame.TextRange.Text = "颐和园"
        .Shapes(2).TextFrame.TextRange.Text = "历史:颐和园是清代皇家园林,融合了山、水、建筑的美。" & _
                                              "园区内有昆明湖、万寿山等著名景点。" & _
                                              vbCrLf & _
                                              "游玩建议:建议游览时间为半天,搭乘游船可欣赏更佳风景。" & _
                                              vbCrLf & _
                                              "交通:可乘坐地铁4号线,到达王府井站换乘专线公交。"
    End With

    ' 北海公园
    slideIndex = slideIndex + 1
    Set slide = pptPres.Slides.Add(slideIndex, ppLayoutText)
    With slide
        .Shapes(1).TextFrame.TextRange.Text = "北海公园"
        .Shapes(2).TextFrame.TextRange.Text = "历史:北海公园是北京市内最古老的公园之一,有着数百年的历史。" & _
                                              "公园内有悠久的文化背景和风景如画的湖泊。" & _
                                              vbCrLf & _
                                              "游玩建议:适合悠闲游玩,可以选择借船游湖,欣赏湖中周围美景。" & _
                                              vbCrLf & _
                                              "交通:可乘坐地铁6号线到北海北站。"
    End With

    ' 结束页
    slideIndex = slideIndex + 1
    Set slide = pptPres.Slides.Add(slideIndex, ppLayoutTitle)
    With slide
        .Shapes(1).TextFrame.TextRange.Text = "感谢观看"
        .Shapes(2).TextFrame.TextRange.Text = ""
    End With

    ' 保存PPT
    pptPres.SaveAs "C:\Users\YourUsername\Documents\北京旅游攻略_详细版.pptx"

    ' 清理
    Set slide = Nothing
    Set pptPres = Nothing
    Set pptApp = Nothing
End Sub

说明:

  1. 请将 "C:\Users\YourUsername\Documents\北京旅游攻略_详细版.pptx" 修改为您电脑上的实际保存路径。
  2. 将此代码粘贴到VBA编辑器中并运行。这段代码会自动创建一份详细的PPT,包含北京各大景点的详细介绍。

如果您还有其他需求或者需要进一步修改的信息,请告诉我,我乐意帮助您进行调整!

Pasted image 20241213142048.png