Измените библиотеку Excel VBA с помощью C#

В этой статье рассказывается, как изменить библиотеку Excel VBA с помощью C#. Он содержит настройки IDE, список шагов и фрагмент кода для добавления модуля в библиотеку кода Excel VBA с использованием C#. Он демонстрирует доступ к проекту VBA и добавление модулей и кода в книгу.

Действия по изменению библиотеки кода Excel VBA с использованием C#

  1. Настройте IDE на использование Aspose.Cells for .NET для добавления модуля и кода.
  2. Создайте workbook, получите доступ к листу и добавьте VBA module.
  3. Получите доступ к вновь созданному модулю, используя индекс нового модуля.
  4. Задайте имя и код модуля
  5. Сохраните выходной файл 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#.

 Русский