乐于分享
好东西不私藏

Excel 也能当指挥台:用 VBA 把 Office 自动化跑起来-1

Excel 也能当指挥台:用 VBA 把 Office 自动化跑起来-1

Office 的各个组件有各个组件擅长的事情,其实我们可以让 Excel 去叫别的 Office 程序干活。这里做一些常用的示例,后面针对单个组件单独深入一点。

Excel 管数据和计算,Access 管查询和记录集,Word 管正式文档,PowerPoint 管汇报页,Outlook 管邮件提醒。说白了,Excel 可以像一个指挥台,把这些程序串起来跑。

这篇我只讲 Office 应用之间怎么配合。对象库引用、早期写法、后期写法这块,之前已经写过,这里只留一个判断标准:自己电脑长期用,引用对象库写代码更舒服;要发给别人跑,我更喜欢 CreateObject,少受 Office 版本影响。

1. Office 自动化到底在做什么

Office 里的每个程序,都把自己的功能暴露成一套对象。

Excel 里有工作簿、工作表、单元格。Word 里有文档、段落、书签。Access 里有数据库、查询、记录集。PowerPoint 里有演示文稿、幻灯片、形状。Outlook 里有邮件、收件人、附件。

VBA 要做的事也很直白:拿到对象,改属性,调方法,用完释放。

比如 Excel 代码里创建 Word:

  • 1
  • 2
  • 3
Dim wd AsObjectSet wd = CreateObject("Word.Application")wd.Visible = True

在这段代码里,Excel 发命令,Word 被调用。你只要记住“谁发命令,谁拿对象”,概念就够用了。

再补两个常见函数:

  • 1
  • 2
Set wd = CreateObject("Word.Application")   '创建一个 Word 应用对象Set doc = GetObject("D:\reports\客户回访纪要.docx")  '拿到某个文件对应的对象

我一般这样理解:CreateObject 用来创建应用对象,GetObject 用来接上已有对象,或者拿到某个文件对应的对象。真实项目里,CreateObject 更常见。

2. 案例一:Excel 从 Access 拉出“未关闭工单”

这个案例我换成售后场景。Access 里有一个数据库 售后工单库.accdb,里面保存了一个查询 Q_本周未关闭工单。Excel 只负责把查询结果拉出来,放到“工单看板”工作表。

这类自动化的关键点有 4 个:打开数据库,打开查询,拿到记录集,把记录集一次写进 Excel。

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
Sub PullOpenTickets()Const DB_NAME AsString = "售后工单库.accdb"Const QUERY_NAME AsString = "Q_本周未关闭工单"Dim dbEngine AsObjectDim db AsObjectDim rs AsObjectDim ws As WorksheetDim i AsLongSet dbEngine = CreateObject("DAO.DBEngine.120")Set db = dbEngine.OpenDatabase(ThisWorkbook.Path & "\" & DB_NAME)Set rs = db.OpenRecordset(QUERY_NAME)Set ws = ThisWorkbook.Worksheets("工单看板")    ws.Range("A1:Z5000").ClearContentsFor i = 0To rs.Fields.Count - 1        ws.Cells(1, i + 1).Value = rs.Fields(i).NameNext i    ws.Range("A2").CopyFromRecordset rs    rs.Close    db.CloseSet rs = NothingSet db = NothingSet dbEngine = NothingEndSub

我喜欢这个写法的原因很简单:Access 查询负责筛数据,Excel 负责展示。数据量上来以后,比手动复制粘贴省很多事。

这里有个小提醒:DAO.DBEngine.120 跟电脑上的 Access Database Engine 有关。你的电脑如果提示创建失败,就改成自己环境能用的版本,或者走对象库引用写法。

3. 案例二:Excel 触发 Access 宏,做月结准备

有些 Access 数据库里已经写好了宏。比如财务同事有一个库 财务月结.accdb,里面有一个宏 M_生成本月费用汇总。Excel 只要打开这个库,跑一下宏,再关掉 Access。

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
Sub RunMonthEndMacro()Dim ac AsObjectSet ac = CreateObject("Access.Application")    ac.OpenCurrentDatabase ThisWorkbook.Path & "\财务月结.accdb"    ac.DoCmd.RunMacro "M_生成本月费用汇总"    ac.QuitSet ac = NothingEndSub

我觉得这种写法适合“Access 里已经有老系统,Excel 只是入口”的情况。按钮放在 Excel 里,使用者不用打开 Access,也能触发里面的固定动作。

4. 案例三:把 Excel 表格塞进 Word 模板

Word 自动化最常见的场景,是把 Excel 里的数据放进一份格式已经设计好的文档。我的习惯是先做 Word 模板,在要插数据的位置放一个书签,比如 VisitTable

Excel 代码只做三件事:复制区域,打开 Word 模板,找到书签位置再粘贴。

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
Sub BuildVisitMemo()Dim wd AsObjectDim doc AsObjectDim rng AsObjectDim src As RangeDim templatePath AsStringDim outPath AsStringSet src = ThisWorkbook.Worksheets("回访明细").Range("A1:D12")    templatePath = ThisWorkbook.Path & "\客户回访纪要模板.docx"    outPath = ThisWorkbook.Path & "\输出\客户回访纪要_" & Format(Date"yyyymmdd") & ".docx"Set wd = CreateObject("Word.Application")    wd.Visible = TrueSet doc = wd.Documents.Open(templatePath)    src.CopySet rng = doc.Bookmarks("VisitTable").Range    rng.PasteExcelTable FalseFalseFalse    doc.SaveAs2 outPath    doc.Close    wd.QuitSet rng = NothingSet doc = NothingSet wd = NothingEndSub

这个案例里,Word 模板负责排版,Excel 负责准备数据。以后领导想改文档标题、页眉、说明文字,我只改 Word 模板,代码基本不用动。

对了,Word 书签被内容替换是常见现象。你要是希望书签一直保留,可以粘贴后再补一个同名书签。

5. 案例四:把 Excel 图表放进 PPT 汇报页

PowerPoint 自动化适合做周会页、月报页。比如 Excel 里有一个图表 Cht完成率,PPT 里有一个模板 周会模板.pptx,我想把图表贴到第 2 页。

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
Sub BuildWeeklySlide()Dim pp AsObjectDim pres AsObjectDim sld AsObjectDim cht As ChartObjectDim outPath AsStringSet cht = ThisWorkbook.Worksheets("周报看板").ChartObjects("Cht完成率")    cht.Chart.ChartArea.CopySet pp = CreateObject("PowerPoint.Application")    pp.Visible = TrueSet pres = pp.Presentations.Open(ThisWorkbook.Path & "\周会模板.pptx")Set sld = pres.Slides(2)    sld.Shapes.PasteSpecial 2'2 表示增强型图元文件    outPath = ThisWorkbook.Path & "\输出\周会_" & Format(Date"yyyymmdd") & ".pptx"    pres.SaveAs outPath    pres.Close    pp.QuitSet sld = NothingSet pres = NothingSet pp = NothingEndSub

我更喜欢把图表贴成增强型图元文件。这样放大后边缘更清晰,也不容易因为源数据被误改影响展示。

6. 案例五:Outlook 只做提醒,别上来就群发

Outlook 自动化很有用,也要更谨慎。我一般用 Excel 生成邮件正文,让 Outlook 打开草稿窗口,人确认后再发。

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
Sub ShowTodoMail()Dim ol AsObjectDim mail AsObjectDim ws As WorksheetDim bodyText AsStringSet ws = ThisWorkbook.Worksheets("今日待办")    bodyText = "大家好,今天需要关注:" & vbCrLf & _"1. "&ws.Range("A2").Value&vbCrLf& _"2. "&ws.Range("A3").Value&vbCrLf& _"3. "&ws.Range("A4").ValueSet ol = CreateObject("Outlook.Application")Set mail = ol.CreateItem(0)With mail        .To = "ops@example.com"        .Subject = "今日待办提醒 - " & Format(Date"yyyy-mm-dd")        .Body = bodyText        .DisplayEndWithSet mail = NothingSet ol = NothingEndSub

Display 会把邮件窗口打开。确认收件人、正文、附件都没问题,再手动点击发送。我不太建议一开始就用 .Send,发错群真的很麻烦。

如果要加附件,可以这样写:

  • 1
mail.Attachments.Add ThisWorkbook.Path & "\输出\周会_" & Format(Date"yyyymmdd") & ".pptx"

7. Excel 也能启动别的程序

Office 自动化不只局限在 Office 内部。比如我想打开日志文件、调用本地脚本、启动一个小工具,都可以用 Shell

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
Sub OpenRunLog()Dim logPath AsString    logPath = ThisWorkbook.Path & "\输出\run_log.txt"    Shell "notepad.exe " & Chr(34) & logPath & Chr(34), vbNormalFocusEndSub

这里我会特别注意路径。少写死 D:\xxx\xxx 这种路径,多用 ThisWorkbook.Path,这样文件夹整体搬走后,代码还能继续跑。

8. 我会盯住这些坑

看得见。 调试时把 Visible 设成 True,能看到 Word、PPT、Access 到底打开了什么。等代码能跑了,再考虑隐藏窗口。

关得掉。 创建出来的应用对象,最好用完就 Quit,再 Set xxx = Nothing。不然后台可能残留一堆 Word、Excel、Access 进程。

路径清楚。 模板、数据库、输出文件,尽量跟工作簿放在同一套目录里。用 ThisWorkbook.Path 拼路径,少依赖某台电脑的盘符。

少盲发。 Outlook 相关代码我更愿意用 Display。邮件是对外动作,多看一眼很值。

一次倒表。 Access 查询结果进 Excel 时,CopyFromRecordset 很好用。字段名自己写一行,数据从 A2 开始倒进去,结构清楚。

失败能收尾。 真实工作里要加错误处理。哪怕中途报错,也要尽量把打开的文件和应用关掉。

9. 我更推荐的一键周报组合

把前面的几个案例合起来,就能做一个很实用的“一键周报”:

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
Sub BuildWeeklyPackage()Call PullOpenTickets      '从 Access 拉未关闭工单Call BuildVisitMemo       '生成 Word 回访纪要Call BuildWeeklySlide     '生成 PPT 汇报页Call ShowTodoMail         '展示 Outlook 待办邮件EndSub

我看来,Office 自动化最有价值的地方,重点不在炫技。它真正解决的是这些重复动作:查一次库,刷新一次表,复制一段内容,做一页 PPT,写一封邮件。

把这些动作交给代码,人就少做机械活,把时间留给判断和沟通。

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-05-11 19:28:17 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/608174.html
  2. 运行时间 : 0.253631s [ 吞吐率:3.94req/s ] 内存消耗:4,921.94kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=20a3244870503642fa49495479a3cdb5
  1. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_static.php ( 6.05 KB )
  7. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/ralouphie/getallheaders/src/getallheaders.php ( 1.60 KB )
  10. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  11. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  12. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  13. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  14. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  15. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  16. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  17. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  18. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  19. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions_include.php ( 0.16 KB )
  21. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions.php ( 5.54 KB )
  22. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  23. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  24. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  25. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/provider.php ( 0.19 KB )
  26. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  27. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  28. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  29. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/common.php ( 0.03 KB )
  30. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  32. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/alipay.php ( 3.59 KB )
  33. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  34. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/app.php ( 0.95 KB )
  35. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cache.php ( 0.78 KB )
  36. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/console.php ( 0.23 KB )
  37. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cookie.php ( 0.56 KB )
  38. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/database.php ( 2.48 KB )
  39. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/filesystem.php ( 0.61 KB )
  40. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/lang.php ( 0.91 KB )
  41. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/log.php ( 1.35 KB )
  42. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/middleware.php ( 0.19 KB )
  43. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/route.php ( 1.89 KB )
  44. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/session.php ( 0.57 KB )
  45. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/trace.php ( 0.34 KB )
  46. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/view.php ( 0.82 KB )
  47. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/event.php ( 0.25 KB )
  48. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  49. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/service.php ( 0.13 KB )
  50. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/AppService.php ( 0.26 KB )
  51. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  52. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  53. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  54. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  55. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  56. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/services.php ( 0.14 KB )
  57. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  58. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  59. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  60. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  61. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  62. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  63. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  64. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  65. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  66. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  67. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  68. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  69. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  70. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  71. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  72. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  73. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  74. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  75. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  76. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  77. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  78. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  79. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  80. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  81. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  82. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  83. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  84. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  85. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  86. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  87. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/Request.php ( 0.09 KB )
  88. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  89. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/middleware.php ( 0.25 KB )
  90. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  91. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  92. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  93. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  94. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  95. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  96. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  97. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  98. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  99. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  100. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  101. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  102. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  103. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/route/app.php ( 3.94 KB )
  104. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  105. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  106. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Index.php ( 9.87 KB )
  108. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/BaseController.php ( 2.05 KB )
  109. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  110. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  111. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  112. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  113. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  114. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  115. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  116. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  117. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  118. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  119. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  120. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  121. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  122. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  123. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  124. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  125. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  126. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  127. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  128. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  129. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  130. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  131. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  132. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  133. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  134. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  135. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Es.php ( 3.30 KB )
  136. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  137. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  138. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  139. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  140. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  141. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  142. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  143. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  144. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/runtime/temp/c935550e3e8a3a4c27dd94e439343fdf.php ( 31.50 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000522s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000725s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.004087s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000719s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001482s ]
  6. SELECT * FROM `set` [ RunTime:0.000532s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001465s ]
  8. SELECT * FROM `article` WHERE `id` = 608174 LIMIT 1 [ RunTime:0.001143s ]
  9. UPDATE `article` SET `lasttime` = 1778498897 WHERE `id` = 608174 [ RunTime:0.099630s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.024494s ]
  11. SELECT * FROM `article` WHERE `id` < 608174 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001383s ]
  12. SELECT * FROM `article` WHERE `id` > 608174 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.002960s ]
  13. SELECT * FROM `article` WHERE `id` < 608174 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.002279s ]
  14. SELECT * FROM `article` WHERE `id` < 608174 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.002317s ]
  15. SELECT * FROM `article` WHERE `id` < 608174 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001934s ]
0.260488s