2013-02-28 77 views
0

我想知道是否有可能(以及如何)创建具有特定宏的Excel模板使用这个宏自动在电子表格,我们出口从我们的测量硬件。创建宏模板使用电子表格

我们出口的测量从我们的硬件到Excel电子表格。现在我们必须为每个电子表格编写相同的宏来过滤我们只需要的特定标准。

所以我们希望有一个Excel模板与本宏保存在里面,从我们的硬件导入Excel电子表格所以它会自动过滤每一次的标准,所以我们可以立即使用它。

我们如何安排呢?

+1

是否要直接在硬件程序中导入此模板?或者是什么? – 2013-02-28 20:50:57

+0

@PeterL。这是一个很好的观点,是存储在您的PC或您的测量设备上的模板?如果它存储在PC上,你可以制作一个加载项,并像通常插件那样添加它;这意味着每次打开Excel时都可以使用这些宏。 – mkingston 2013-02-28 22:01:06

回答

0

如果假定您的测量硬件总是产生相同的输出文件名称...

  • 1 - 你可以有与宏进口和过滤数据文件的模板。 在这种情况下,与宏文件不会服务器为每一个模板见

子LoadDataSheet()

Dim sWbkPath As String 
sWbkPath = "PATH_TO_FILE\" & "FILE_NAME" 

Dim wbkData As Workbook 
Set wbkData = Workbooks.Open(sWbkPath) 

DataFilteringMacro wbkData 'or sheet 

末次

  • 2 - 你可以有一个插件仅在数据文件打开时才显示功能区

在“ThisWorkbook”模块中...

昏暗WITHEVENTS应用作为应用

私人小组Workbook_Open()

Set App = Application 

结束子

私人小组App_WorkbookActivate(BYVAL Wb的作为工作簿)

'... 
'if using a ribbon, you could put the code in the "GetVisible" callback 
'and invalidate the ribbon in the App_WorkbookActivate() 
'bVisible is the value set in the ribbon callback 

Dim wbk As Workbook 
Set wbk = ActiveWorkbook 

If wbk.Name = "FILE_NAME" Then 

    'bVisible = True 'the data file was loaded 

Else 

    'bVisible = False 'another file was loaded 

End If 

结束子

+0

@PeterL这个模板必须存储在我们的PC上。我们通过Excel电子表格从我们的硬件中导出数据。然后,我们希望此数据导入Excel电子表格执行宏,所以导入数据时,它会自动过滤crteria我们ounly希望看到.. – user1483464 2013-03-04 18:56:05

+0

上面所讨论的可被存储在个人电脑或共享驱动器上这两种方法。您可以通过电子邮件发送给其他工人模板或加载项...另一个用户将只需要模板/插件的副本导入数据。 – raybiss 2013-03-09 16:46:08