首页 > 其他分享 >autohotkey通过com对象控制excel的权限问题

autohotkey通过com对象控制excel的权限问题

时间:2024-09-29 16:44:53浏览次数:6  
标签:autohotkey 表格 excel 快捷键 管理员 使用 权限 com

用途

主要是一些需要自动化录入数据或者批量修改表格属性的场景吧,我个人的需求更多是根据一些外部源来输入数据到表格,当然读取表格的数据做进一步处理也是有的

为什么不用自带的vba甚至py

vba在快捷键管理这方面和ahk比不了,py也一样的,快捷键管理上ahk当然是更加方便的选择,这类需求本身都不会很复杂,弄个方便的快捷键当然是更加重要的

本文讨论的问题

主要就是这个过程中的权限问题,基础的使用上想必不用多说,具体使用的问题也和本文无关

正文

最简单的一个测试脚本com对象读取表格数据的例子

if !(A_IsAdmin || InStr(DllCall("GetCommandLine", "str"), ".exe"" /r"))
		RunWait % "*RunAs " (s:=A_IsCompiled ? "" : A_AhkPath " /r ") """" A_ScriptFullPath """" (s ? "" : " /r")


xl:=ComObjActive("excel.Application")
te:=xl.cells(1,1).value
msgbox,% te

这个例子无论在wps或是excel中使用,都会有异常报错的问题
比如
Error: 0x800401E3 - 操作无法使用

原因

上面那段提权代码的问题,这样使用以后脚本是管理员权限运行,而正常情况下打开的表格是非管理员,问题就出现了

解决方案

  1. 没有特殊需求的情况下可以不用提权代码的,一般来说我个人注意到需要使用的是win按键映射之类的情况,当然这个按需求使用而不是一股脑全使用更加靠谱
  2. 管理员权限的打开表格,这个不太推荐,需要人工来操作有点背离了自动化的初衷了,当然也可以脚本来管理员启动就是了

标签:autohotkey,表格,excel,快捷键,管理员,使用,权限,com
From: https://www.cnblogs.com/hzncpa/p/18440341

相关文章

  • java实现导出excel添加水印或excel转pdf并添加水印
    1.通过Map对象存入excel模板中获得excel表,并添加水印importorg.apache.poi.xssf.usermodel.XSSFWorkbook;publicstaticvoidexportExcelWatermark(TemplateExportParamstemplatePath,Map<String,Object>map,StringfileName,StringmarkText,HttpServletResponseres......
  • COMP 412 Local Register Allocation Table of Contents
    COMP412,Fall2024Lab2:LocalRegisterAllocationTableofContentsCriticalDatesfortheProjectIntroductionCodeDueDate10/23/2024OverviewoftheProblemCodeCheck#1Due10/04/2024CodeSpecification3IntroductionInthisprogrammingass......
  • EasyExcel导出文件基本流程以及原理分析 学习笔记(持续更新)
    EasyExcel导出文件基本流程导出文件基本流程获取数据首先获得需要导出的文件的数据内容,用一个list保存List<SysStudent>list=sysStudentService.queryList(sysStudent);定义文件名给导出的文件定义一个名字,可以添加日期或者根据输入添加其他信息,保证文件名唯一S......
  • CS 417/517: Introduction to Human Computer Interaction
    CS417/517:IntroductiontoHumanComputerInteraction Project1(Fall2024)1IntroductionInthisassignment,yourtaskistoimplementaConvolutionalNeuralNetwork(CNN)andevaluatetsperformanceinclassifyinghandwrittendigits.Aftercompleti......
  • sentinel-tansport-SPI-CommandSPI
    说明我们引入以下<dependency><groupId>com.alibaba.csp</groupId><artifactId>sentinel-transport-simple-http</artifactId><version>1.8.6</version></dependency>通过初始化com.alibaba.csp.sentinel.init.Ini......
  • 如何做好游戏中美术项目管理?TAPD带你挣脱海量Excel困扰
    这两年国内手游竞争日趋白日化,版号的限制、买量内卷、国内用户增量日趋饱和,大厂更是把游戏美术和宣发美术卷到了影视级的高度,游戏美术设计的方向早已走向了全球化。有别于其他项目类别,在游戏项目中,尤其是大型游戏项目团队,都设立了美术项目经理的岗位,称之为APM。作为一个APM,......
  • java之使用CompletableFuture入门1
    Java17- 简介JDK中异步执行任务。源码://AFuturethatmaybeexplicitlycompleted(settingitsvalueandstatus),//andmaybeusedasaCompletionStage,supportingdependentfunctions//andactionsthattriggeruponitscompletion.publicclassCo......
  • redis 管道 批量处理 transmit multiple commands to the Redis server in one tran
    Redispipelining|Docshttps://redis.io/docs/latest/develop/use/pipelining/RedispipeliningHowtooptimizeround-triptimesbybatchingRediscommandsRedispipeliningisatechniqueforimprovingperformancebyissuingmultiplecommandsatoncewithou......
  • RocksDB代码分析——Compaction的输入文件的选择
    这里主要分析LevelCompactionBuilder::PickCompaction是如何选择输入文件的。SetupInitialFiles();找一个需要compact到下层的SSTfile。只会在score>=1的level里找。score的计算见VersionStorageInfo::ComputeCompactionScore({%post_linkStorage/'RocksDB代码分析——Compa......
  • RocksDB代码分析——Compaction流程
    这里从DBImpl::MaybeScheduleFlushOrCompaction开始讲起。DBImpl::MaybeScheduleFlushOrCompaction可能会scheduleDBImpl::BGWorkFlush和DBImpl::BGWorkCompaction。这里主要看Compaction。Flush部分见{%post_linkStorage/'RocksDB代码分析——Flush流程'%}DBImpl::BGWorkCo......