Aspose.Cells功能教程——使用C#在Excel文件中添加或修改VBA宏
VBA(用于應用程序的Visual Basic)是MS Excel文件中使用的一種編程語言,用于自動執(zhí)行與電子表格相關的操作。VBA宏用于編寫用戶定義的函數(shù),這些函數(shù)使您可以加快必須手動執(zhí)行的任務。
在本文中,將學習如何以編程方式使用MS Excel文件中的VBA宏。以及將能夠使用C#在Excel工作簿中提取,添加和修改VBA宏。
- 從Excel工作簿中提取VBA宏
- 將VBA宏添加到Excel工作簿
- 在Excel工作簿中修改VBA宏
Aspose.Cells for .NET是一個C#類庫,旨在從.NET應用程序內部自動執(zhí)行電子表格操作。該API提供了廣泛的功能,使您能夠創(chuàng)建,修改和轉換MS Excel工作簿。此外,API使無縫使用VBA宏成為可能。擊下方按鈕可以下載API的安裝包。
使用C#從Excel文件中提取VBA宏
	首先,從現(xiàn)有的Excel工作簿中提取VBA宏。以下是執(zhí)行此操作的步驟。
 
- 創(chuàng)建Workbook類的對象以加載Excel文件。
- 從Workbook.VbaProject.Modules集合訪問VbaModule對象中的每個VBA模塊。
- 使用VbaModule.Codes屬性從每個模塊檢索代碼。
下面的代碼示例演示如何使用C#從Excel工作簿中提取VBA宏。
// Create workbook object from source Excel file
Workbook workbook = new Workbook("sample.xlsm");
// Extract code from each VBA module
foreach (VbaModule module in workbook.VbaProject.Modules)
{
    string code = module.Codes;
    Console.Write(code);
}
使用C#將VBA宏添加到Excel文件
	.NET的Aspose.Cells也允許您將VBA宏添加到現(xiàn)有或新的Excel文件中。可以按照以下步驟完成。
 
- 使用Workbook類創(chuàng)建一個新的Excel文件或加載一個現(xiàn)有的文件。
- 使用Worksheet類添加一個新工作表或獲取現(xiàn)有工作表。
- 使用Workbook.VbaProject.Modules.Add(Worksheet)方法添加一個新的VBA模塊,并獲取該模塊的ID。
- 從Workbook.VbaProject.Modules [idx]集合訪問VBA模塊到VbaModule對象。
- 使用VbaModule.Name屬性添加模塊的名稱。
- 使用VbaModule.Codes屬性將代碼添加到模塊中。
- 使用Workbook.Save(String,SaveFormat.Xlsm)方法保存工作簿。
下面的代碼示例演示如何使用C#將VBA宏添加到Excel工作簿。
// Create new workbook
Workbook workbook = new Workbook();
// Access first worksheet
Worksheet worksheet = workbook.Worksheets[0];
// Add VBA Module
int idx = workbook.VbaProject.Modules.Add(worksheet);
// Access the VBA Module, set its name and codes
Aspose.Cells.Vba.VbaModule module = workbook.VbaProject.Modules[idx];
module.Name = "TestModule";
module.Codes = "Sub ShowMessage()" + "\r\n" +
"    MsgBox \"Welcome to Aspose!\"" + "\r\n" +
"End Sub";
// Save the workbook
workbook.Save("output_out.xlsm", SaveFormat.Xlsm);
使用C#在Excel文件中修改VBA宏
	還可以使用以下步驟修改Excel文件中的現(xiàn)有VBA宏。
 
- 使用Workbook類加載Excel文件。
- 從Workbook.VbaProject.Modules集合到VbaModule對象中訪問VBA模塊。
- 使用VbaModule.Codes屬性從所需模塊中檢索代碼。
- 替換代碼并使用Workbook.Save(String)方法保存Excel文件。
下面的代碼示例演示如何使用C#修改Excel文件中的VBA宏。
// Create workbook object from source Excel file
Workbook workbook = new Workbook("sample.xlsm");
// Change the VBA Module Code
foreach (VbaModule module in workbook.VbaProject.Modules)
{
    string code = module.Codes;
    // Replace the original message with the modified message
    if (code.Contains("This is test message."))
    {
        code = code.Replace("This is test message.", "This is Aspose.Cells message.");
        module.Codes = code;
    }
}
// Save the output Excel file
workbook.Save("output_out.xlsm");
 
還想要更多嗎?您可以點擊閱讀【2020 · Aspose最新資源整合】,查找需要的教程資源。如果您有任何疑問或需求,請隨時加入Aspose技術交流群(761297826),我們很高興為您提供查詢和咨詢。

 QQ交談
QQ交談 在線咨詢
在線咨詢 
                 
                
 渝公網(wǎng)安備
            50010702500608號
渝公網(wǎng)安備
            50010702500608號
             
            
 客服熱線
客服熱線