В этой статье рассказывается, как изменить библиотеку Excel VBA с помощью C#. Он содержит настройки IDE, список шагов и фрагмент кода для добавления модуля в библиотеку кода Excel VBA с использованием C#. Он демонстрирует доступ к проекту VBA и добавление модулей и кода в книгу.
Действия по изменению библиотеки кода Excel VBA с использованием C#
- Настройте IDE на использование Aspose.Cells for .NET для добавления модуля и кода.
- Создайте workbook, получите доступ к листу и добавьте VBA module.
- Получите доступ к вновь созданному модулю, используя индекс нового модуля.
- Задайте имя и код модуля
- Сохраните выходной файл Excel с новым макросом VBA.
Эти шаги объясняют процесс добавления модуля в библиотеку исходного кода Excel VBA с использованием C#. Получите доступ к коллекции VbaProject.Modules выбранной книги и вызовите метод Add(), чтобы добавить новый модуль. Получите ссылку на вновь созданный модуль и задайте для его имени и кодов нужные значения, прежде чем сохранять полученный файл XLSM.
Код для обновления библиотеки макросов Excel с использованием C#
using System; | |
using Aspose.Cells; | |
using Aspose.Cells.Vba; | |
class Program | |
{ | |
static void Main(string[] args) // Add VBA code in Excel using C# | |
{ | |
new License().SetLicense("License.lic"); | |
// Create new workbook, access a sheet and add a VBA module | |
Workbook workbook = new Workbook(); | |
Worksheet worksheet = workbook.Worksheets[0]; | |
int moduleIndex = workbook.VbaProject.Modules.Add(worksheet); | |
// Access the VBA Module | |
VbaModule module = workbook.VbaProject.Modules[moduleIndex]; | |
// Set module name | |
module.Name = "TestModule"; | |
// Set module code | |
module.Codes = | |
@"Private Sub Worksheet_Change(ByVal Target As Range) | |
' Check if the changed cell is A1 | |
If Target.Address = ""$A$1"" Then | |
' Check if the changed cell is not empty | |
If Target.Value <> """" Then | |
' Display a message box | |
MsgBox ""Text entered in cell A1: "" & Target.Value, vbInformation, ""Cell A1 Change"" | |
End If | |
End If | |
End Sub | |
"; | |
// Save the workbook | |
workbook.Save("output.xlsm", SaveFormat.Xlsm); | |
Console.WriteLine("VBA code added successfully"); | |
} | |
} |
В этом примере кода показано, как получить доступ к библиотеке кода VBA с помощью C# в файле Excel и добавить модуль и код. Пример кода в модуле отображает окно сообщения в MS Excel при каждом изменении значения ячейки A1. Это окно сообщения содержит обновленное значение в ячейке, однако вы можете изменить код в соответствии со своими требованиями.
Эта статья научила нас добавлять макросы в файл Excel. Чтобы отобразить формулы в Excel, обратитесь к статье как отображать формулы в Excel с помощью C#.