为了节省时间,我需要创建一个宏,允许我在ODBC数据源管理员中自动添加3个数据源 (I目前这些3个数据源每天必须手动操作10次以上。)
不幸的是,我不能使用像SuperMacro这样的(简单)程序,因为它需要为所有用户开发一个软件包并将其安装在每个人的个人资料等上。并且需要几个月才能被sooooo接受许多不同的委员会。 (大公司......)
我的回答:创建 .bat文件! (?)
现在我面临另一个问题;显然不可能从.bat文件中发送击键。我不太确定,因为我在这个问题上看到了一些不同的意见。
无论如何,它出现(如果我读得正确)我可以从.bat文件中请求将命令发送到.vbs(?,如果我错了,请纠正我)将发送所需的击键。
(我可能是关于这个主题的总菜鸟,但是我不可能从.vbs文件中做所有事情而不必使用.bat文件吗?)
。 。
总结,我需要在Windows 7 (NOT .exe)中的原生可读/可运行文件才能够致:
- 打开ODBC;
- 发送"标签","输入"," Up" &安培; " Down"," Shift + Tab"和" Space" keytrokes;
- 输入" text"在适当的地方: Enter Text.png
- 从列表中选择元素(按名称): SourceData Selection.png
最后用我新增的3个数据源退出ODBC;)
。 。
任何人都可以这么善良并帮助我:)?
或者还有其他方法可以做到这一点:/?
。 。
我可以使用SuperMacro发送/发布我用过(。在家)的.mcr的确切要求或工作示例来做我需要做的事情。
非常感谢您的帮助!
最诚挚的问候,
Clamp77
答案 0 :(得分:3)
Look up odbcconf for more info.
The format is:
odbcconf type "DriverName" "DSN=DSNName|SERVER=(local)"
Here is how I have used it:
odbcconf configsysdsn "SQL Server" "DSN=NewDSN|SERVER=(local)"
In other words adding this command to your batch file
odbcconf configsysdsn "SQL Server" "DSN=NewDSN|SERVER=(local)"
will create a single new ODBC System DSN connection
on the local machine
Using the SQL Server driver named NewDSN.
Your .bat to make three connections could be simply ...
odbcconf configsysdsn "SQL Server" "DSN=Name001|SERVER=(local)"
odbcconf configsysdsn "SQL Server" "DSN=Name002|SERVER=(local)"
odbcconf configsysdsn "SQL Server" "DSN=Name003|SERVER=(local)"
答案 1 :(得分:0)
尝试
见
使用wrt @ HDSSNET更新答案(+1):
答案 2 :(得分:0)
每个人,
我设法解决了这个问题,只使用.vbs文件:)它可以在不到10秒的时间内完成工作。
这是第一个来源的脚本:
Set sh = WScript.CreateObject("WScript.Shell")
sh.Run "odbcad32.exe", 9
WScript.Sleep 200
sh.SendKeys "{TAB}"
sh.SendKeys "{DOWN}"
sh.SendKeys "{UP}"
sh.SendKeys "{ENTER}"
WScript.Sleep 200
sh.SendKeys "Driver do Microsoft Access"
sh.SendKeys "{ENTER}"
sh.SendKeys "WKS"
sh.SendKeys "{TAB}"
WScript.Sleep 200
sh.SendKeys "NSBBL_ODBC_Setting"
sh.SendKeys "{TAB}"
sh.SendKeys "{ENTER}"
WScript.Sleep 200
sh.SendKeys "{TAB}"
sh.SendKeys "{TAB}"
sh.SendKeys "{TAB}"
sh.SendKeys "{TAB}"
sh.SendKeys "c"
sh.SendKeys "+{TAB}"
sh.SendKeys "+{TAB}"
WScript.Sleep 200
sh.SendKeys "{UP}"
sh.SendKeys "{UP}"
sh.SendKeys "{UP}"
sh.SendKeys "{UP}"
sh.SendKeys "{UP}"
sh.SendKeys "{UP}"
WScript.Sleep 200
sh.SendKeys "PROGRAMS"
sh.SendKeys "{ENTER}"
sh.SendKeys "{DOWN}"
sh.SendKeys "NatStar"
sh.SendKeys "{ENTER}"
sh.SendKeys "{DOWN}"
sh.SendKeys "NSBBL"
sh.SendKeys "{ENTER}"
sh.SendKeys "{DOWN}"
sh.SendKeys "MDB"
sh.SendKeys "{ENTER}"
sh.SendKeys "+{TAB}"
sh.SendKeys "{DOWN}"
WScript.Sleep 200
sh.SendKeys "{ENTER}"
sh.SendKeys "{TAB}"
WScript.Sleep 200
sh.SendKeys "{TAB}"
WScript.Sleep 200
sh.SendKeys "{TAB}"
WScript.Sleep 200
sh.SendKeys "{TAB}"
WScript.Sleep 200
sh.SendKeys "{TAB}"
sh.SendKeys "{ENTER}"
我知道它没有必要的线路,但没有后顾之忧:),我添加了其他2个来源,它完美运行!!!
它在Windows上本机运行,可以执行任何命令:击键,文本等
非常感谢您的回答。
Clamp77
答案 3 :(得分:0)
试试这个。我经常使用它在我的系统上为SQL SERVER
创建新的dsn@echo off
set cn=%computername%
set host=%cn%\WINCC
ODBCCONF.exe /a {CONFIGSYSDSN "SQL Server" "DSN=XY|Description=Descriptionname|SERVER=%host%|Trusted_Connection=Yes|Database=XY"}
echo SYSTEM DSN created successfuly...
pause
@CLS
@Exit