将Excel中的连接字符串设置为单元格值

时间:2015-01-19 23:30:53

标签: excel

我正在为一些人创建一个工作簿,以便能够操纵一些数据,获得所有参与者的祝福,然后交给其他人手动输入系统......不要问,我们害怕脚本回到系统。

我试图在“数据连接属性”窗口中执行此操作。

数据>连接>属性>定义(我不能附上屏幕截图,因为我猜对了)

我有很多不同的工作方式。我甚至创建了一个VB脚本,它将执行此操作,允许用户更改服务器目标,传递不同的安全凭据,但是,就在上周一,有一种办公补丁搞砸了所有activeX,我不得不去掉一个临时文件来纠正它。对于那些地理位置分离不够精通技术的用户,我不能做到这一点,我没有RDP权限。

例如,连接字符串目前看起来像:

DRIVER={iSeries Access ODBC Driver};
System=myserver.network.net;

我希望将它设置为:

DRIVER={iSeries Access ODBC Driver};
System="Overview!D9";

单元格概述!D9,然后可以由谁更改到正确的系统字符串,如myserver.network.net或server1.network.net。

从我的研究中我可以看出,连接属性窗口非常切割和干燥,这可能是不可能的。但我想我会四处询问。

1 个答案:

答案 0 :(得分:0)

假设System只是一个字符串,那么获取值很简单。

' Assuming System is a String
Dim System As String
System = ThisWorkbook.Worksheets("Overview").Range("D9").Value

如果System是另一个字符串的一部分,那么它就差不多了

' Get the value to use in the connection string
Dim System As String
System = ThisWorkbook.Worksheets("Overview").Range("D9").Value

Dim ConnectionString As String
ConnectionString = "DRIVER={iSeries Access ODBC Driver}; SYSTEM=" & System & ";"

如果安全性存在问题,并且您的人员生成/操纵数据并不需要宏来完成他们的工作(即,只是将数据输入系统的人那么)那么你就不会这样做。需要将宏放在他们的工作簿中。

您可以将宏添加到"默认工作簿"在数据录入人员的计算机上。然后,这些宏将可用于他们在计算机上打开的所有工作簿。

您的数据录入人员可以获得脚本自动化的优势,您的用户也不必担心电子邮件或防病毒问题。