当前位置:首页>Excel>Excel VBA隐藏王者:CustomProperties对象,帮你给文件“暗戳戳”记笔记

Excel VBA隐藏王者:CustomProperties对象,帮你给文件“暗戳戳”记笔记

  • 2026-04-22 02:11:35
Excel VBA隐藏王者:CustomProperties对象,帮你给文件“暗戳戳”记笔记

家人们谁懂啊!做Excel VBA开发时,是不是总遇到这种尴尬——

写了一段超牛的代码,给工作簿加了一堆自定义功能,过了半个月回头看,懵了:“我当时为啥要加这个?”“这个参数是给谁用的?”“这个工作簿上次更新是啥时候?”

更气人的是,想给工作簿留个“备注”,要么写在单元格里怕被误删,要么单独建个隐藏工作表,麻烦得要死。

其实Excel VBA里藏着一个“宝藏工具”——CustomProperties对象,说白了就是给工作簿、工作表“贴便签”的神器,而且是“隐形便签”,不影响表格颜值,还能随文件一起保存,专治各种“忘事”“混乱”。

今天就带大家吃透这个“低调王者”,从“它是谁”“它能干嘛”“怎么玩”,全程人话+实操,哪怕你是VBA小白,看完也能直接上手,再也不用为“记笔记”头疼!

一、先搞懂:CustomProperties到底是个啥?

先给它一个接地气的定义:CustomProperties是Excel里的“隐藏备注栏”,专门用来存储和工作簿(Workbook)、工作表(Worksheet)相关的“自定义信息”。

你可以把它想象成——给你的Excel文件装了一个“私人备忘录”,你想记啥就记啥,比如:

- 工作簿版本号(比如“V2.3,2026年3月15日更新”)

- 代码作者(“张三,负责统计模块”)

- 数据来源(“来自财务部2026年2月报表”)

- 甚至是你自己的小提醒(“注意!A列数据不能手动修改,VBA自动更新”)

关键是,这些信息不会显示在Excel界面上(除非你用VBA调用),既不会被别人误改,也不会占用表格空间,低调又实用。

举个反例:很多人喜欢把备注写在单元格A1,结果不小心被删除、被覆盖,或者打印的时候露出来,尴尬又麻烦;而CustomProperties就不会有这问题,它藏在文件“后台”,只有懂VBA的人才能找到(当然,你也可以用VBA把它显示出来)。

二、重点:CustomProperties能解决哪些痛点?

总结了它最常用的3个场景,每一个都能帮你省时间、避坑:

痛点1:记不住工作簿/工作表的“关键信息”

比如你做了一个自动化报表,每周都要更新,过了一个月,你忘了上次更新的时间、用的数据源版本,这时候CustomProperties就能派上用场——每次更新后,用VBA自动给工作簿加一个“更新时间”和“数据源版本”的备注,下次打开,用一行代码就能查到,再也不用翻聊天记录、找文件备份。

痛点2:代码复用性差,换个文件就“失效”

比如你写了一段VBA代码,需要根据不同工作簿的“配置信息”执行不同操作(比如有的工作簿需要统计销售数据,有的需要统计库存),这时候可以把配置信息存在CustomProperties里,代码直接读取这些信息,不用每次修改代码,换个文件也能正常运行,实现“一次编写,多文件复用”。

痛点3:怕别人误改关键设置

比如你给工作表设置了自定义格式,或者隐藏了某些列,怕别人误操作修改,就可以在CustomProperties里记录“原始设置”,如果被修改了,用VBA读取备注里的原始信息,一键恢复,不用手动还原,省时又省心。

三、实操教学:CustomProperties怎么玩?(全程复制可用)

讲再多理论都是虚的,直接上代码!以下操作均以“工作簿的CustomProperties”为例(工作表的用法几乎一样,后面会补充),复制代码到VBA编辑器(Alt+F11),运行就能看到效果,小白也能轻松上手。

基础操作1:添加自定义备注(最常用)

比如给当前工作簿添加3个备注:作者、更新时间、版本号,代码如下:

Sub 给工作簿加备注()

    Dim wb As Workbook

    Set wb = ThisWorkbook '当前工作簿

    '添加备注:作者(Key是“备注名称”,Value是“备注内容”)

    wb.CustomDocumentProperties.Add _

        Name:="作者", _

        LinkToContent:=False, _

        Type:=msoPropertyTypeString, _

        Value:="Excel VBA老司机"

    '添加备注:更新时间

    wb.CustomDocumentProperties.Add _

        Name:="更新时间", _

        LinkToContent:=False, _

        Type:=msoPropertyTypeDate, _

        Value:=Now 'Now表示当前时间

    '添加备注:版本号

    wb.CustomDocumentProperties.Add _

        Name:="版本号", _

        LinkToContent:=False, _

        Type:=msoPropertyTypeString, _

        Value:="V2.3"

    MsgBox "备注添加成功!", vbInformation

End Sub

这里有3个关键知识点,必看(划重点!):

- Name:备注的“名称”,相当于便签的“标题”,比如“作者”“更新时间”,后续读取的时候要靠这个名称查找。

- LinkToContent:是否“链接到单元格内容”,一般设为False(固定备注),设为True的话,备注内容会跟着指定单元格的内容变化(比如链接到A1,A1改了,备注也改)。

- Type:备注的“数据类型”,不能乱设,常用的有3种:

  - msoPropertyTypeString:文本类型(比如作者、版本号)

  - msoPropertyTypeDate:日期类型(比如更新时间)

  - msoPropertyTypeNumber:数字类型(比如统计次数)

运行代码后,备注就已经藏在工作簿里了,接下来教大家怎么读取。

基础操作2:读取自定义备注(查备注)

比如我们要读取刚才添加的“版本号”和“更新时间”,代码如下:

Sub 读取工作簿备注()

    Dim wb As Workbook

    Dim cp As CustomDocumentProperty

    Set wb = ThisWorkbook

    '方法1:按名称直接读取(推荐,高效)

    On Error Resume Next '防止备注不存在报错

    Dim 版本号 As String

    Dim 更新时间 As Date

    版本号 = wb.CustomDocumentProperties("版本号").Value

    更新时间 = wb.CustomDocumentProperties("更新时间").Value

    On Error GoTo 0 '恢复报错机制

    '显示读取到的备注

    MsgBox "当前工作簿版本:" & 版本号 & vbCrLf & "上次更新时间:" & 更新时间, vbInformation

    '方法2:遍历所有备注(适合不知道备注名称的情况)

    For Each cp In wb.CustomDocumentProperties

        MsgBox "备注名称:" & cp.Name & vbCrLf & "备注内容:" & cp.Value

    Next cp

End Sub

重点提醒:如果备注不存在,直接读取会报错,所以加上“On Error Resume Next”可以避免报错,小白一定要加上!

基础操作3:修改/删除备注

有时候备注内容需要更新(比如版本号从V2.3改成V2.4),或者不需要了,这时候可以修改或删除,代码如下:

Sub 修改删除备注()

    Dim wb As Workbook

    Set wb = ThisWorkbook

    '1. 修改备注(比如修改版本号)

    On Error Resume Next

    wb.CustomDocumentProperties("版本号").Value = "V2.4"

    If Err.Number <> 0 Then

        MsgBox "备注不存在,无法修改!"

    Else

        MsgBox "版本号修改成功!"

    End If

    On Error GoTo 0

    '2. 删除备注(比如删除“作者”备注)

    On Error Resume Next

    wb.CustomDocumentProperties("作者").Delete

    If Err.Number <> 0 Then

        MsgBox "备注不存在,无法删除!"

    Else

        MsgBox "作者备注删除成功!"

    End If

    On Error GoTo 0

End Sub

补充:工作表的CustomProperties用法

刚才讲的都是工作簿(Workbook)的用法,工作表(Worksheet)的用法几乎一样,只是把“wb”换成“ws”,代码示例:

Sub 给工作表加备注()

    Dim ws As Worksheet

    Set ws = ThisWorkbook.Worksheets("Sheet1") '指定工作表

    '添加备注:工作表用途

    ws.CustomProperties.Add _

        Name:="用途", _

        LinkToContent:=False, _

        Type:=msoPropertyTypeString, _

        Value:="销售数据统计"

    '读取备注

    MsgBox "Sheet1的用途:" & ws.CustomProperties("用途").Value

End Sub

注意:工作表的CustomProperties是“跟着工作表走”的,如果你把工作表复制到另一个工作簿,备注也会一起复制过去,非常方便。

四、避坑指南:这些错误千万别犯!(新手必看)

作为踩过无数坑的VBA老司机,我总结了3个新手最容易犯的错误,帮你少走弯路:

坑1:重复添加同名备注

同一个工作簿/工作表,不能有两个“名称相同”的备注,比如已经有一个“版本号”的备注,再添加一次就会报错。

解决方法:添加之前,先判断备注是否存在,代码如下(可直接复制):

Sub 避免重复添加备注()

    Dim wb As Workbook

    Dim cp As CustomDocumentProperty

    Dim 备注名称 As String

    Dim 备注内容 As String

    Set wb = ThisWorkbook

    备注名称 = "版本号"

    备注内容 = "V2.4"

    '判断备注是否存在

    Dim 备注存在 As Boolean

    备注存在 = False

    For Each cp In wb.CustomDocumentProperties

        If cp.Name = 备注名称 Then

            备注存在 = True

            Exit For

        End If

    Next cp

    '如果不存在,就添加;存在就修改

    If 备注存在 Then

        wb.CustomDocumentProperties(备注名称).Value = 备注内容

        MsgBox "备注已更新!"

    Else

        wb.CustomDocumentProperties.Add _

            Name:=备注名称, _

            LinkToContent:=False, _

            Type:=msoPropertyTypeString, _

            Value:=备注内容

        MsgBox "备注添加成功!"

    End If

End Sub

坑2:数据类型设置错误

比如把“更新时间”的Type设为msoPropertyTypeString(文本),虽然能添加成功,但后续读取的时候,无法进行日期相关的操作(比如计算距离上次更新过了多少天),得不偿失。

解决方法:记住3个常用类型,对应好内容:文本用String,日期用Date,数字用Number,不要乱设。

坑3:忽略“链接到内容”的用法

LinkToContent设为True时,备注内容会跟着指定单元格变化,但很多新手不知道怎么设置“链接的单元格”,导致报错。

补充代码(链接到单元格内容):

Sub 备注链接到单元格()

    Dim wb As Workbook

    Set wb = ThisWorkbook

    '备注内容链接到Sheet1的A1单元格

    wb.CustomDocumentProperties.Add _

        Name:="链接备注", _

        LinkToContent:=True, _

        Type:=msoPropertyTypeString, _

        Value:=ThisWorkbook.Worksheets("Sheet1").Range("A1")

    '当A1单元格内容修改后,备注内容也会自动修改

    MsgBox "备注已链接到Sheet1的A1单元格!"

End Sub

五、实战场景:CustomProperties的实际应用(看完直接用)

最后给大家一个实战案例,把前面的知识点串起来,比如“自动化报表的版本管理”,代码如下,复制到VBA编辑器,运行就能实现:

Sub 报表版本管理()

    Dim wb As Workbook

    Dim cp As CustomDocumentProperty

    Set wb = ThisWorkbook

    '1. 判断是否有“版本号”备注,没有就添加,有就自动升级

    Dim 版本号 As String

    Dim 新版本号 As String

    备注存在 = False

    For Each cp In wb.CustomDocumentProperties

        If cp.Name = "版本号" Then

            备注存在 = True

            版本号 = cp.Value

            '自动升级版本号(比如V2.3→V2.4)

            新版本号 = "V" & CDbl(Mid(版本号, 2)) + 0.1

            cp.Value = 新版本号

            Exit For

        End If

    Next cp

    If Not 备注存在 Then

        新版本号 = "V1.0"

        wb.CustomDocumentProperties.Add _

            Name:="版本号", _

            LinkToContent:=False, _

            Type:=msoPropertyTypeString, _

            Value:=新版本号

    End If

    '2. 更新“更新时间”备注

    On Error Resume Next

    wb.CustomDocumentProperties("更新时间").Value = Now

    If Err.Number <> 0 Then

        wb.CustomDocumentProperties.Add _

            Name:="更新时间", _

            LinkToContent:=False, _

            Type:=msoPropertyTypeDate, _

            Value:=Now

    End If

    On Error GoTo 0

    '3. 添加“报表负责人”备注

    On Error Resume Next

    wb.CustomDocumentProperties("负责人").Value = "张三"

    If Err.Number <> 0 Then

        wb.CustomDocumentProperties.Add _

            Name:="负责人", _

            LinkToContent:=False, _

            Type:=msoPropertyTypeString, _

            Value:="张三"

    End If

    On Error GoTo 0

    '4. 显示当前版本信息

    MsgBox "报表更新成功!" & vbCrLf & _

           "当前版本:" & 新版本号 & vbCrLf & _

           "更新时间:" & Now & vbCrLf & _

           "负责人:" & wb.CustomDocumentProperties("负责人").Value, vbInformation

End Sub

这个案例实现了“自动升级版本号、更新时间、记录负责人”,每次更新报表时运行一次,就能清晰记录报表的所有关键信息,后续不管是自己维护,还是交给同事接手,都能一目了然,再也不用靠脑子记了。

最后总结:CustomProperties的核心价值

其实CustomProperties不算复杂,核心就是“给Excel文件贴隐形便签”,但它能解决VBA开发中“信息管理混乱”的大问题,尤其是对于经常做自动化报表、多文件开发的人来说,用好它,能大大提高工作效率,减少不必要的麻烦。

记住一句话:能靠代码记录的,就别靠脑子记,CustomProperties就是帮你“解放大脑”的神器。

最后留个小作业:试着给你自己的工作簿添加一个“备注”,读取并修改它,熟悉用法后,你会发现它的妙用无穷!

如果在操作中遇到问题,评论区留言,我来帮你解决~ 关注我,后续分享更多Excel VBA干货,让你少踩坑、多高效!

最新文章

随机文章

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