编程-如何在vba中读取屏幕坐标,跪求,急

问题描述

如何在vba中读取屏幕坐标,跪求,急

在vba里面没法添加timer控件,所以GetCursorPos貌似没法用,还有我试过mousemove,结果只能获得窗体的坐标,那如何获得屏幕的坐标呀,我的编程环境是coreldraw vba

解决方案

还有,我的打算是点击拾取按钮获取坐标,然后显示在文本窗体中

解决方案二:

用API实现定时器

 增加一个module
 增加代码
 Option Explicit

Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long

 Declare Function GetCursorPos Lib "user32" (ByRef lpPoint As POINTAPI) As Long
Public Type POINTAPI
        x As Long
        y As Long
End Type
Public p As POINTAPI
Public Sub TimerProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal idEvent As Long, ByVal dwTime As Long)
    GetCursorPos p
    UserForm1.setXY p
End Sub

增加一个Form,这里名字是userform1
代码如下
Option Explicit

Public Sub setXY(p As POINTAPI)
  text_x.Text = CStr(p.x)
  text_y.Text = CStr(p.y)
End Sub
Private Sub UserForm_Initialize()
  Call SetTimer(0, 0, 10, AddressOf TimerProc)
End Sub

解决方案三:

GetCursorPos和timer没关系,它是api函数。可以直接调用的。

解决方案四:

moudle1:
Option Explicit
Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
Declare Function GetCursorPos Lib "user32" (ByRef lpPoint As POINTAPI) As Long
Public Type POINTAPI
x As Long
y As Long
End Type
Public p As POINTAPI
Public Sub TimerProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal idEvent As Long, ByVal dwTime As Long)
UserForm1.Hide
GetCursorPos p
CoordintePick1.setXY p
UserForm1.Show
End Sub
Public Sub setXY(p As POINTAPI)
txtcenX2.Text = CStr(p.x)
txtcenY2.Text = CStr(p.y)
End Sub
Public Sub moudle1()
Load UserForm1
UserForm1.Show
End Sub

userform1

Option Explicit
Private Sub CoordintePick1_Initialize()
Call SetTimer(0, 0, 10, AddressOf TimerProc)
End Sub

我这样修改,但是不对,点击关闭应该用click属性吧,刚学vba,啥都不会

解决方案五:

setq a getpiont

时间: 2024-10-31 09:12:41

编程-如何在vba中读取屏幕坐标,跪求,急的相关文章

如何在wcf中读取asp.net cookie的值??

问题描述 如何在wcf中读取asp.netcookie的值??wcf服务端和asp.net网站在同一域名下 解决方案 解决方案二:HttpContext.Current.Session

如何在wcf中读取asp.net cookie的值?? wcf服务端和asp.net网站在同一域名下

问题描述 如何在wcf中读取asp.netcookie的值??wcf服务端和asp.net网站在同一域名下 解决方案 解决方案二: 解决方案三:引用1楼fangxinggood的回复: http://blog.csdn.net/fangxinggood/archive/2011/04/19/6332489.aspx 1楼正解.解决方案四:我现在是网站登录用cookie保存用户信息,想在wcf中读取cookie信息,这个要怎么弄?配置文件都改过了,还是获取不到cookie解决方案五:wcf可以利用

数据-多表关联按照一个地区插入到一张新表中。在线跪求各位大神,急急急!!!

问题描述 多表关联按照一个地区插入到一张新表中.在线跪求各位大神,急急急!!! 多表关联,我现有多张表,想将数据提取出来,按照一个地区插入到一张新表中,但是这些多张表,有的比如有西安,但是有的有没有西安,所以会造成数据的丢失,有什么好的方法可以解决?在线跪求各位大神,急急急!!! 解决方案 刚开始的的第一张表是没有西安的,informix库 解决方案二: 按照你说的要求,我觉得应该有张表的地区应该最为全面,就是说有一条主线可以将所有表都联立起来,然后可以以这张表为主表进行左联即可.. 解决方案三

c++ 写一个查询系统 ,不用数据库,从txt中读取数据,求大神指点啊 ...

问题描述 c++ 写一个查询系统 ,不用数据库,从txt中读取数据,求大神指点啊 ... 解决方案 你首先的规范text 文档的数据格式 ,然后通过文件流从文件中读取数据 解决方案二: 直接用ifstream读入,然后getline一行行读取,然后可以用sscanf格式化提取(因为你是用,分隔的) 可以把数据都存储下来(存在结构体数组或者vector都行) 之后再实现查找的功能

请教:如何在webbrowse中读取信息

问题描述 用webbrowse访问一个网页,想在网页源文件中提取固定格式的内容,如何实现?这是个很简单的问题,已经在网上搜索很长时间了,找到的文章太复杂看不懂,只好直接请教来了.希望各但指点一下. 解决方案 解决方案二:你想读什么内容??参考下http://smalldust.cnblogs.com/archive/2006/03/08/345561.html解决方案三:楼上朋友介绍的文章我看过,太难,我刚接触编程看不懂,我想问的是怎么才能把网webbrowse控件显示的网页源文件内容做成变量供

网络编程-电脑ping手机的问题,跪求答案!!

问题描述 电脑ping手机的问题,跪求答案!! 电脑开出来一个wifi,手机连上了,电脑ping不通手机,但是能ping通自身开出来的wifiip,是怎么回事? 解决方案 手机没有ping的服务,所以电脑发出数据包之后手不能返回的,所以看起来像是ping不通一样 解决方案二: 我还不知道电脑可以ping手机呢,不知道你说的是不是带安卓系统的开发板 解决方案三: 手机上装个ping的软件,用手机来ping电脑试试 解决方案四: 用java写一个icmp服务,在手机上跑,才能ping

aspx页面怎么判断数据库的值然后根据判断值觉得是否弹出右下角窗口???跪求~急急急~

问题描述 就是数据库表里有个字段是记录时间,datetime类型,怎么判断这个字段和当前时间相差三天的话页面就弹出消息窗口,消息窗口目前能在页面显示,可就是还没有加条件判断数据库字段,跪求大侠指导~ 解决方案 解决方案二:这个好说,首先在.cs文件里面声明一个bool的变量,bool变量就是用来放是否差三天的这个判断值,然后前台去获取就行咯.解决方案三:sql有diff......解决方案四:.cs文件里加判断,结果返给前台或者直接前台ajax请求一般处理程序给到返回解决方案五:cs程序里这样写

如何在 SSIS 中读取 SharePoint List

前言 由于项目需要, 我们会从SharePoint 上读取一些配置数据, 同时也有可能执行一些回写操作去更新SharePoint 的数据. 之前没有做过这样的操作, 有的也应该是通过 C# 编程去获取或者写入一些数据. 查阅了一些相关的文章, 自己也动手测试了一下如何在 SSIS Package 中访问SharePoint List 并将数据写入 SharePoint List. 两个操作 读取SharePoint List 的数据到数据库 从数据库中筛选一些数据然后插入到一个新的 ShareP

如何在SSIS中读取 SharePoint List

前言 由于项目需要, 我们会从SharePoint 上读取一些配置数据, 同时也有可能执行一些回写操作去更新SharePoint 的数据. 之前没有做过这样的操作, 有的也应该是通过 C# 编程去获取或者写入一些数据. 查阅了一些相关的文章, 自己也动手测试了一下如何在 SSIS Package 中访问SharePoint List 并将数据写入 SharePoint List. 两个操作 读取SharePoint List 的数据到数据库 从数据库中筛选一些数据然后插入到一个新的 ShareP