翻譯|使用教程|編輯:李顯亮|2020-12-25 09:47:50.560|閱讀 391 次
概述:VBA宏用于編寫用戶定義的函數(shù),這些函數(shù)使您可以加快必須手動執(zhí)行的任務(wù)。在本文中,將學(xué)習(xí)如何以編程方式使用MS Excel文件中的VBA宏。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
VBA(用于應(yīng)用程序的Visual Basic)是MS Excel文件中使用的一種編程語言,用于自動執(zhí)行與電子表格相關(guān)的操作。VBA宏用于編寫用戶定義的函數(shù),這些函數(shù)使您可以加快必須手動執(zhí)行的任務(wù)。
在本文中,將學(xué)習(xí)如何以編程方式使用MS Excel文件中的VBA宏。以及將能夠使用C#在Excel工作簿中提取,添加和修改VBA宏。
Aspose.Cells for .NET是一個C#類庫,旨在從.NET應(yīng)用程序內(nèi)部自動執(zhí)行電子表格操作。該API提供了廣泛的功能,使您能夠創(chuàng)建,修改和轉(zhuǎn)換MS Excel工作簿。此外,API使無縫使用VBA宏成為可能。擊下方按鈕可以下載API的安裝包。
首先,從現(xiàn)有的Excel工作簿中提取VBA宏。以下是執(zhí)行此操作的步驟。
下面的代碼示例演示如何使用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); }
.NET的Aspose.Cells也允許您將VBA宏添加到現(xiàn)有或新的Excel文件中。可以按照以下步驟完成。
下面的代碼示例演示如何使用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);
還可以使用以下步驟修改Excel文件中的現(xiàn)有VBA宏。
下面的代碼示例演示如何使用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");
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn