Excel VBA实现单元格图片单击放大:原理、代码与避坑指南
1. 项目缘起为什么要在Excel里折腾图片放大缩小如果你经常用Excel做产品目录、员工信息表或者资产管理清单肯定会遇到一个头疼的问题如何在单元格里优雅地展示图片并且能让查看者方便地放大看细节Excel自带的“插入图片”功能图片是浮在工作表上方的对象和单元格数据是割裂的。当你筛选、排序或者移动行时这些浮动的图片不会跟着单元格一起动管理起来非常麻烦。更别提查看体验了。一张小小的产品缩略图嵌在单元格里想看清细节就得瞪大眼睛或者手动去拖动调整图片大小效率极低。这个需求在需要频繁核对带图片信息的场景下比如仓库管理员核对货品照片、HR查看员工证件照、设计师管理素材库时显得尤为迫切。网上常见的“将图片放入单元格”方法大多只是调整了图片的格式将其“置于底层”并调整位置勉强实现视觉上的贴合但本质上图片还是浮动对象并未与单元格绑定。而真正的“单击放大/缩小”交互在Excel的常规功能里几乎是空白。这就需要我们请出Excel背后的“王牌助手”——VBAVisual Basic for Applications。VBA是内置于Microsoft Office中的编程语言它能让你自动化重复操作甚至创造出原生Excel没有的功能。通过它我们可以实现将图片精准地“锁”在特定单元格里并且为这些图片赋予“生命”——单击一下图片平滑放大至适合查看的尺寸再单击一下又缩回单元格内。这不仅仅是炫技它能实实在在地提升数据管理和查阅的效率。接下来我就带你从零开始一步步实现这个功能并分享我趟过的坑和总结的技巧。2. 核心原理拆解VBA如何操控图片与单元格在动手写代码之前我们必须先搞清楚几个关键概念理解VBA与Excel对象之间是如何“对话”的。这能让你在调试代码时心里有底而不是盲目地复制粘贴。2.1 Excel的对象模型认识Shape、Picture与Range你可以把Excel理解为一个由各种对象组成的王国。VBA就是用来指挥这些对象的“国王密令”。其中有三个对象是我们这个项目的核心Shape对象这是所有插入到工作表中的图形对象的统称包括我们插入的图片、绘制的形状、文本框等。当我们用ActiveSheet.Shapes.AddPicture方法插入一张图片时返回的就是一个Shape对象。Picture对象它是Shape对象的一种特定类型。当Shape的Type属性是msoPicture时我们就可以把它当作Picture对象来对待使用其特有的属性和方法。但在VBA中我们通常直接操作Shape对象。Range对象这就是我们熟悉的单元格区域。它是数据的载体。我们的目标就是建立一个Shape图片和Range单元格之间的牢固链接。关键点默认插入的图片Shape是独立于单元格的。它的位置由Top和Left属性距离工作表左上角的像素值决定。我们要做的就是写代码动态计算目标单元格的Top和Left并将图片移动过去实现“放入”的效果。2.2 事件驱动让图片“听懂”单击VBA的精髓在于“事件驱动”。也就是说当某个特定动作事件发生时执行我们预设的代码。我们需要用到工作表Worksheet的两个事件Worksheet_SelectionChange事件当用户选择单击或移动了不同的单元格时触发。我们不会主要用它来控制图片因为它太频繁了容易误触发。但它可以用来做辅助比如当选中其他单元格时自动缩小所有已放大的图片。Worksheet_BeforeDoubleClick事件当用户双击单元格时触发。这是一个不错的选择但双击通常用于编辑单元格内容可能会冲突。为Shape对象绑定OnAction属性和AssignMacro这才是更精准的方法。我们可以为每个图片Shape指定一个宏Macro当单击该图片时就运行这个宏。这是实现“单击图片触发动作”最直接、最可靠的方式。本项目将采用第三种方法为每个插入的图片分配一个唯一的宏该宏负责处理该图片的放大/缩小状态切换。2.3 状态记录图片现在是“大”还是“小”这是一个典型的“状态管理”问题。图片当前是缩略图状态还是放大状态VBA需要记住这个信息。有几种实现思路使用Shape的Name或Tag属性我们可以在插入图片时给它起一个特定的名字如Pic_A1或者在Tag属性里存入状态如“zoomed”或“normal”。每次单击时检查这个标记。使用全局字典Dictionary创建一个模块级的Dictionary对象以图片的名称或索引作为Key以状态True/False作为Item。这种方式更灵活管理大量图片时更清晰。利用图片尺寸判断最简单粗暴比较图片当前的Width或Height与原始缩略图尺寸。如果大于就是放大状态。为了代码的清晰和可维护性我将采用Tag属性来记录状态因为它本身就是Shape对象的一部分无需引入额外的全局变量管理起来更直接。3. 完整实现步骤从零搭建可单击放大的图片库理论清晰后我们开始实战。请打开你的Excel按下Alt F11进入VBA编辑器。3.1 第一步插入标准模块并编写核心功能函数在VBA工程资源管理器中右键点击你的工作簿名称选择“插入” - “模块”。我们将在这里编写主要的工具函数。Option Explicit 定义一个常量用于存储缩略图的标准尺寸单位磅 Const THUMBNAIL_WIDTH As Double 60 Const THUMBNAIL_HEIGHT As Double 60 定义一个常量用于存储放大图的尺寸 Const ZOOMED_WIDTH As Double 300 Const ZOOMED_HEIGHT As Double 300 主要函数将图片插入到指定单元格并绑定单击事件 Sub InsertPictureToCell() Dim targetCell As Range Dim picturePath As String Dim picShape As Shape Dim cellTop As Double, cellLeft As Double Dim cellWidth As Double, cellHeight As Double Dim macroName As String 1. 让用户选择目标单元格 On Error Resume Next Set targetCell Application.InputBox( _ Prompt:请选择一个单元格来放置图片例如A1:, _ Title:选择目标单元格, _ Type:8) Type:8 表示输入或选择单元格区域 On Error GoTo 0 If targetCell Is Nothing Then MsgBox 未选择单元格操作已取消。, vbInformation Exit Sub End If 2. 让用户选择图片文件 With Application.FileDialog(msoFileDialogFilePicker) .Title 选择要插入的图片 .Filters.Clear .Filters.Add 图片文件, *.jpg;*.jpeg;*.png;*.bmp;*.gif .AllowMultiSelect False If .Show -1 Then 用户取消了选择 Exit Sub End If picturePath .SelectedItems(1) End With 3. 计算单元格的位置和尺寸用于居中放置缩略图 cellTop targetCell.Top cellLeft targetCell.Left cellWidth targetCell.Width cellHeight targetCell.Height 4. 将图片插入到工作表先插入到左上角 Set picShape ActiveSheet.Shapes.AddPicture( _ Filename:picturePath, _ LinkToFile:msoFalse, _ msoFalse: 嵌入图片msoTrue: 链接图片 SaveWithDocument:msoTrue, _ Left:0, _ Top:0, _ Width:-1, _ Height:-1) Width/Height为-1表示保持原图比例 5. 为图片生成一个唯一的名称和宏名 picShape.Name Pic_ targetCell.Address(False, False) 如 Pic_A1 macroName TogglePictureZoom_ targetCell.Address(False, False) 6. 将图片移动到目标单元格并调整为缩略图同时居中 With picShape 锁定纵横比并按单元格的较小边进行缩放以适应 .LockAspectRatio msoTrue If .Width / .Height cellWidth / cellHeight Then 图片相对较宽以宽度为基准 .Width cellWidth * 0.9 留10%边距 .Height .Height * (cellWidth * 0.9 / .Width) Else 图片相对较高以高度为基准 .Height cellHeight * 0.9 .Width .Width * (cellHeight * 0.9 / .Height) End If 计算居中位置并移动 .Left cellLeft (cellWidth - .Width) / 2 .Top cellTop (cellHeight - .Height) / 2 7. 将图片的替代文本设为单元格地址方便识别 .AlternativeText targetCell.Address 8. 在Tag中记录初始状态为“normal”正常/缩略图 .Tags.Add Status, normal 9. 将图片的OnAction属性指向我们将要创建的动态宏 注意这里我们先赋值一个占位符真正的宏需要后续动态创建 .OnAction ThisWorkbook.Name !TogglePictureZoom 更优方案我们需要一个中央调度器根据图片名称调用对应的处理函数 这里我们先采用一个通用宏并在其中判断图片名称 End With 10. 调用一个子过程为这个图片动态创建专属的切换宏 由于VBA不能直接在运行时创建新模块我们需要换一种思路。 改为所有图片共享一个宏但该宏通过Application.Caller获取触发者再进行分发。 因此我们需要先确保这个分发宏存在。 EnsureToggleMacroExists 将图片的OnAction指向这个分发宏 picShape.OnAction TogglePictureZoom_Dispatch 11. 在目标单元格旁边的单元格例如右侧记录图片名称方便管理 targetCell.Offset(0, 1).Value picShape.Name MsgBox 图片已成功插入到 targetCell.Address 并绑定单击事件。, vbInformation End Sub 确保中央分发宏存在如果不存在则创建 Sub EnsureToggleMacroExists() 这个宏应该已经存在于标准模块中。这里只是一个示意性检查。 实际项目中你可以将此宏直接写在模块里。 End Sub 中央分发宏被所有图片的OnAction调用 Sub TogglePictureZoom_Dispatch() Dim shpName As String Dim shp As Shape Application.Caller 返回触发此宏的对象的名称对于Shape就是其Name On Error Resume Next shpName Application.Caller On Error GoTo 0 If shpName Then Exit Sub 根据名称找到对应的Shape对象 On Error Resume Next Set shp ActiveSheet.Shapes(shpName) On Error GoTo 0 If shp Is Nothing Then MsgBox 未找到对应的图片对象 shpName, vbExclamation Exit Sub End If 调用具体的切换函数传入该Shape对象 TogglePictureZoomForShape shp End Sub 核心功能切换指定图片的放大/缩小状态 Sub TogglePictureZoomForShape(ByRef targetShape As Shape) Dim currentStatus As String Dim cellAddr As String Dim targetCell As Range Dim origWidth As Double, origHeight As Double Dim origLeft As Double, origTop As Double 1. 从Tag中读取当前状态 On Error Resume Next currentStatus targetShape.Tags(Status) On Error GoTo 0 If currentStatus Then currentStatus normal 默认状态 2. 获取图片关联的单元格地址存储在AlternativeText中 cellAddr targetShape.AlternativeText If cellAddr Then 如果未设置尝试从名称中解析如Pic_A1 If Left(targetShape.Name, 4) Pic_ Then cellAddr Mid(targetShape.Name, 5) Else MsgBox 无法确定图片关联的单元格。, vbExclamation Exit Sub End If End If Set targetCell ActiveSheet.Range(cellAddr) 3. 根据状态进行切换 If currentStatus normal Then 当前是缩略图执行放大操作 3.1 首先记录缩略图时的原始位置和尺寸可存储在Tag中这里简化处理 我们选择另一种方式放大到固定位置例如屏幕中央 先保存当前缩略图的位置和尺寸可选用于缩回时恢复 targetShape.Tags.Add OriginalWidth, CStr(targetShape.Width) targetShape.Tags.Add OriginalHeight, CStr(targetShape.Height) targetShape.Tags.Add OriginalLeft, CStr(targetShape.Left) targetShape.Tags.Add OriginalTop, CStr(targetShape.Top) 3.2 将图片置于顶层并移动到工作表中央区域放大 targetShape.ZOrder msoBringToFront targetShape.LockAspectRatio msoTrue 放大尺寸 If targetShape.Width / targetShape.Height ZOOMED_WIDTH / ZOOMED_HEIGHT Then targetShape.Width ZOOMED_WIDTH Else targetShape.Height ZOOMED_HEIGHT End If 居中显示简单计算可优化为更智能的定位 targetShape.Left (ActiveSheet.UsedRange.Width - targetShape.Width) / 2 targetShape.Top (ActiveSheet.UsedRange.Height - targetShape.Height) / 2 3.3 更新状态为“zoomed” targetShape.Tags(Status) zoomed ElseIf currentStatus zoomed Then 当前是放大状态执行缩小操作 恢复之前保存的原始位置和尺寸 On Error Resume Next origWidth CDbl(targetShape.Tags(OriginalWidth)) origHeight CDbl(targetShape.Tags(OriginalHeight)) origLeft CDbl(targetShape.Tags(OriginalLeft)) origTop CDbl(targetShape.Tags(OriginalTop)) On Error GoTo 0 If origWidth 0 And origHeight 0 Then targetShape.Width origWidth targetShape.Height origHeight targetShape.Left origLeft targetShape.Top origTop Else 如果未保存原始信息则根据关联单元格重新计算位置 targetShape.LockAspectRatio msoTrue 重新适应单元格调用一个辅助函数这里简化 FitPictureToCell targetShape, targetCell End If 3.4 更新状态为“normal” targetShape.Tags(Status) normal End If 可选当放大一张图时自动将其他已放大的图片缩小 Call ResetOtherPictures(targetShape.Name) End Sub 辅助函数将图片适应到单元格内并居中 Sub FitPictureToCell(ByRef picShape As Shape, ByRef targetCell As Range) Dim cellWidth As Double, cellHeight As Double cellWidth targetCell.Width cellHeight targetCell.Height With picShape .LockAspectRatio msoTrue If .Width / .Height cellWidth / cellHeight Then .Width cellWidth * 0.9 Else .Height cellHeight * 0.9 End If .Left targetCell.Left (cellWidth - .Width) / 2 .Top targetCell.Top (cellHeight - .Height) / 2 End With End Sub 辅助函数重置其他所有图片的状态为缩略图可选 Sub ResetOtherPictures(currentPicName As String) Dim shp As Shape For Each shp In ActiveSheet.Shapes If shp.Type msoPicture Then If shp.Name currentPicName Then If shp.Tags(Status) zoomed Then 模拟一次缩小操作这里需要知道关联单元格简化处理 更健壮的实现需要每个图片都记录自己的单元格 这里仅作为思路提示 TogglePictureZoomForShape shp 注意这会导致递归调用问题需谨慎设计 End If End If End If Next shp End Sub3.2 第二步创建便捷的按钮并关联宏代码写好了但总不能每次都去VBA编辑器里运行InsertPictureToCell吧我们需要一个方便用户操作的入口。在Excel工作表界面点击“开发工具”选项卡 - “插入” - 选择一个按钮表单控件。提示如果看不到“开发工具”选项卡需要在“文件”-“选项”-“自定义功能区”中勾选它。在工作表上拖动绘制一个按钮松开鼠标时会弹出“指定宏”对话框。在列表中选择我们刚写的InsertPictureToCell宏点击“确定”。右键单击按钮选择“编辑文字”将其改为“插入图片”。将TogglePictureZoom_Dispatch宏指定给工作表的Worksheet_SelectionChange事件不我们不需要。因为我们已经通过OnAction将每个图片直接绑定到了TogglePictureZoom_Dispatch宏。这个分发宏本身不需要手动触发。现在点击这个“插入图片”按钮就会弹出对话框让你选择单元格和图片文件插入后图片会自动适应单元格并居中。单击该图片它就会放大到预设尺寸再次单击则缩回单元格。3.3 第三步优化与增强功能基础功能已经实现但一个健壮的工具还需要考虑更多细节。优化1防止图片重叠与错位当行高、列宽调整时我们的缩略图可能会错位。我们可以在Worksheet_Change事件或Worksheet_Calculate事件中添加一个RepositionAllPictures子程序遍历所有以“Pic_”开头的Shape根据其AlternativeText中记录的单元格地址重新调用FitPictureToCell函数进行位置校正。优化2一键导入多张图片修改InsertPictureToCell函数中的文件选择部分将AllowMultiSelect设为True然后遍历SelectedItems集合。同时可以让用户选择一个单元格区域如A1:A10程序按顺序将多张图片插入到对应的单元格中。优化3添加右键菜单功能除了单击放大我们还可以为图片添加右键菜单提供“更换图片”、“删除图片”、“锁定位置”等选项。这需要用到CommandBar对象对于旧版Excel或RibbonX对于新版来创建自定义右键菜单并关联相应的宏。优化4状态持久化当工作簿关闭再打开时Shape的Tag属性是保留的但OnAction属性指定的宏名如果包含工作簿名称如MyWorkbook.xlsm!MyMacro在重命名工作簿后可能会失效。更稳健的做法是使用一个不依赖工作簿名称的宏名并确保该宏存在于ThisWorkbook或一个加载项中。4. 避坑指南与实战心得在实际操作中我遇到了不少坑这里总结出来希望能帮你节省时间。坑1OnAction属性在保存后丢失这是最常见的问题之一。如果你将OnAction设置为一个字符串形式的宏名如“ToggleZoom”保存并重新打开工作簿后单击图片可能无效。这是因为OnAction属性对宏名的解析方式比较“脆弱”。解决方案确保宏所在的模块名称是固定的如“Module1”并且使用标准的模块名过程名格式。更推荐使用我们上面实现的“中央分发器”模式。所有图片的OnAction都指向同一个分发宏如“PictureClickHandler”在这个分发宏里通过Application.Caller来识别是哪个图片被点击然后再进行相应的处理。这样只需要确保这一个分发宏存在且名称稳定即可。坑2图片随着筛选、排序而“乱飞”即使我们将图片位置与单元格对齐在进行筛选或排序操作时Excel默认不会移动图形对象。图片会留在原地导致与数据行错位。解决方案这是一个更高级的需求。一种方法是放弃使用浮动图形转而使用“链接到图片”功能将图片动态显示在单元格中。但这会失去一些灵活性。另一种方法是编写VBA代码响应工作表Worksheet_Calculate或Worksheet_Change事件在数据变动后重新根据单元格地址计算并移动所有关联图片的位置。这需要维护一个图片与单元格地址的映射表。坑3性能问题与大量图片如果一个工作表中有几十甚至上百张高分辨率图片每次打开工作簿或滚动时Excel可能会变得非常卡顿。解决方案压缩图片在插入前或插入后使用VBA设置图片的Shape.PictureFormat.Compress方法降低图片分辨率。延迟加载可以考虑不直接将图片嵌入工作表而是将图片路径存储在单元格中。只有当用户单击某个单元格或按钮时才动态加载并显示对应的图片。这需要更复杂的VBA和可能的内存缓存机制。使用DoEvents在循环处理大量图片进行重定位时在循环内适当添加DoEvents语句可以防止Excel界面“假死”提升用户体验。坑4兼容性问题WPS vs. Microsoft ExcelWPS Office虽然也支持VBA需要单独安装VBA组件但其对象模型和某些方法与Microsoft Excel存在细微差异。上述代码在纯VBA环境下为Excel编写在WPS中可能无法正常运行或需要调整。解决方案如果代码需要跨平台务必在WPS中进行测试。常见的差异点包括文件对话框Application.FileDialog的支持程度、某些枚举常量如msoTrue的名称等。可以编写条件编译代码或运行时判断应用程序的版本。个人心得Tag属性是你的好朋友在VBA中操作图形对象Tag属性是一个极其有用的“扩展背包”。你可以用它存储任何字符串信息比如状态“zoomed”、原始尺寸、关联的数据行ID等。它随工作簿一起保存是进行对象状态管理的轻量级利器。相比于维护一个独立的字典或数组使用Tag属性让代码逻辑更集中于对象本身更清晰。5. 进阶思路超越单击放大实现了基础功能后我们可以思考如何让它更强大、更智能。思路一与单元格内容联动例如在B列是产品名称C列是产品价格我们希望将A列作为图片列。可以编写一个Worksheet_Change事件当B列或C列的内容发生变化时比如通过公式从数据库拉取新数据自动根据产品ID或名称从指定文件夹加载对应的图片到A列单元格。这实现了真正的“数据驱动图片显示”。思路二集成到右键菜单如前所述为图片添加自定义右键菜单提供“查看原图”在新窗口中打开原始文件、“导出图片”、“设置为默认图”等选项使管理更加便捷。思路三响应鼠标悬停VBA本身不直接支持MouseMove事件在Shape上。但可以通过API钩子SetWindowsHookEx实现这属于高级技术复杂度陡增。一个更简单的替代方案是利用Worksheet_SelectionChange事件判断当前选中的单元格是否旁边有图片然后高亮该图片或显示一个放大预览框另一个浮动形状。思路四批量处理与模板化将整个图片插入、定位、绑定事件的流程封装成一个函数并制作一个带有按钮和说明的模板工作簿。用户只需要打开模板点击按钮选择图片和区域即可快速生成一个带可点击图片的产品目录或相册。你甚至可以添加一个“生成导航目录”的功能自动为所有图片创建一个索引页。通过这个项目你不仅学会了一个实用的Excel技巧更重要的是深入理解了VBA如何与Excel对象模型交互如何设计事件驱动的程序以及如何处理实际开发中的状态管理和异常情况。这些经验在你未来尝试用VBA解决其他自动化问题时将是无价的。记住最好的学习方式就是动手去做然后去优化去解决遇到的一个个具体问题。

相关新闻

从零部署MiniMax H3开源视频模型:本地环境配置与ComfyUI集成实战

从零部署MiniMax H3开源视频模型:本地环境配置与ComfyUI集成实战

在实际的多模态 AI 模型开发与评估领域,LMArena 作为一个综合性的基准测试平台,其榜单排名是衡量模型综合能力的重要参考。近期,MiniMax 公司开源的 H3 视频模型在 LMArena 榜单上取得了领先成绩,这引起了开发者和研究者的广泛关注…

2026/10/4 12:01:51 阅读更多 →
LoongCollector一次性文件采集:从ETL原理到阿里云SLS迁移实战

LoongCollector一次性文件采集:从ETL原理到阿里云SLS迁移实战

1. 从“单兵作战”到“集团军冲锋”:文件采集的痛点与进化如果你负责过服务器日志分析、业务数据归档或者任何需要从海量文件中提取信息的任务,那你一定对“文件采集”这四个字又爱又恨。爱的是,它是数据进入分析系统的第一道门,至…

2026/10/2 11:23:12 阅读更多 →
OPC UA协议在工业物联网系统的应用趋势

OPC UA协议在工业物联网系统的应用趋势

根据截至2026年8月的最新行业动态,OPC UA协议在工业物联网(IIoT)领域的应用,正从基础的“连接与通信”向构建统一、智能、安全的开放式自动化生态演进。其核心趋势体现在以下几个维度: 📈 趋势一&#xff…

2026/10/8 2:18:32 阅读更多 →

最新新闻

Unity编辑器底层机制与运行时原理详解

Unity编辑器底层机制与运行时原理详解

1. 别被“基础”两个字骗了:为什么Unity新手常在第3小时就卡死在编辑器里很多人点开Unity安装包时,心里想的是“不就是拖拖拽扭、放放模型、点点播放键吗”,结果三小时后盯着控制台里一串红色报错发呆——“NullReferenceException: Object r…

2026/10/14 8:50:30 阅读更多 →
国产AI算力地基:Runtime/Compiler/Driver三位一体开源框架

国产AI算力地基:Runtime/Compiler/Driver三位一体开源框架

1. 这不是模型发布,而是一次算力基建的静默升级 “致敬,DeepSeek 最新开源的不是模型,是国产算力的地基”——这句话在技术圈刷屏时,我正调试一套国产AI推理服务集群。没有发布会、没有PPT、没有参数对比图,只有一份干…

2026/10/14 8:50:30 阅读更多 →
Kafka IDEA实操入门:从零搭建可调试消息系统

Kafka IDEA实操入门:从零搭建可调试消息系统

1. 项目概述:为什么一个Kafka入门教程要特别强调IDEA操作? “【菜鸟教程】Kafka消息队列入门下(IDEA操作Kafka)”这个标题看似平实,但藏着三个关键信号:第一,“菜鸟教程”不是指内容浅薄&#x…

2026/10/14 8:50:30 阅读更多 →
rh2288hv2固件升级实战:BIOS与BMC刷写顺序、避坑与救砖指南

rh2288hv2固件升级实战:BIOS与BMC刷写顺序、避坑与救砖指南

简介:这份资源是华为 RH2288HV2 服务器的 BIOS 与 BMC 固件升级包,版本为 7.38,面向负责服务器运维、机房管理及硬件维护的技术人员。BIOS 负责硬件初始化与系统引导,BMC 承担远程监控与带外管理,二者同步更新可提升启…

2026/10/14 8:50:30 阅读更多 →
充电站选址优化:混合整数规划与遗传算法的工程实践

充电站选址优化:混合整数规划与遗传算法的工程实践

简介:这是一份围绕电动汽车充电站选址优化问题的学术论文,聚焦新能源汽车配套设施规划中的关键问题,适合交通规划、电气工程及新能源领域的研究人员、相关专业学生和从业者参考。文档从充电需求点分布、服务半径与最大服务数量等角度出发&…

2026/10/14 8:50:30 阅读更多 →
[玩转大模型] 第十一篇:售卖自己的 Skill——买断、订阅、定制、开源+付费增强,四条路到底哪条能收到钱

[玩转大模型] 第十一篇:售卖自己的 Skill——买断、订阅、定制、开源+付费增强,四条路到底哪条能收到钱

💡 上一篇我把自己的 Skill 仓库摊开做体检,结论挺难看:十二个 Skill,三个连 name 和目录名都对不上。但那篇文章里还藏着一个我没回答的问题——既然整理到能公开了,那能不能顺便收点钱? 我认真查过这件事…

2026/10/14 8:49:29 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 7:53:34 阅读更多 →