2012-11-30 60 views
1

我是VBA Excel的新手,我只知道這些事情,只要我需要這個報告格式化任務。我的代碼幾乎完成,但我想知道的是,如何讓我的程序在多個文檔上工作?如何使VBA Excel程序在其他Excel文檔上工作?

我的意思是,我想通過我的程序選擇一個excel文件,然後我想開始報告格式化過程。然後,也許用戶需要格式化另一個文檔,我希望我的程序也能夠格式化該文檔。我怎麼能做到這一點?

由於提前

帖木兒

+0

你'這document'將作爲應用用'用戶表單'來控制/格式化其他文件。 – bonCodigo

+0

因此,爲了使用這個程序來操作其他文件,我當前的文件必須保存,因爲我不能將它們分開? 如何添加文件選擇器控件到我的窗體並使用我的代碼來操作我的目標文件? –

+0

你在正確的方向。你甚至可以在你的主控文件中有一個報告模板。 [檢查此鏈接](http://stackoverflow.com/questions/221444/browse-for-a-file-from-excel-vba) – bonCodigo

回答

1

的方式我目前做的,這是通過創建一個Excel加載項。爲此,請將宏和表單放入新的空Excel工作簿中,並另存爲.xlam文檔。

要使用這些宏,請打開您的Excel文件和加載項。要自動打開加載項,請將其保存到「C:\ Program Files \ Microsoft Office \ Office12 \ XLSTART」(Vista)。

你甚至可以爲您的外接使用Microsoft Office的自定義用戶界面編輯器http://msdn.microsoft.com/en-us/library/office/ee691832(v=office.14).aspx自定義功能區(下載鏈接是在指令結尾)

+0

嗨,感謝您的回覆。我認爲這是我正在尋找的解決方案。但是,您能解釋一下嗎?「要使用這些宏,請打開您的Excel文件和加載項」**? :) 我是小bir困惑,因爲我與vba新。我瞭解部分打開Excel文件,但我怎麼打開加載項?通過加載項你是指vba編輯器? :S我應該按下ALT + F11? :) :)(a) –

+0

對不起,困惑。當您使用.xlam文件擴展名保存工作簿時,它將成爲Excel加載項。加載項可以在任何工作簿的同一個Excel實例中打開。這使您可以從任何正在使用的工作簿訪問加載項中的所有宏。 例如,假設您創建了一個名爲ExAddin.xlam的加載項和一個Work.xlsx工作簿。您將打開Work.xlsx,然後打開ExAddin.xlam。然後,可以在Work.xlsx中訪問ExAddin.xlam中的宏。 – mjoshawa

+0

因此,爲了使其在其他excel文件上工作,我應該首先運行我的初始文件? :s(原諒我的困惑,我不是英文本地人) –