Zmodyfikuj bibliotekę Excel VBA za pomocą języka C#

W tym artykule opisano, jak modyfikować bibliotekę VBA Excel przy użyciu języka C#. Udostępnia ustawienia IDE, listę kroków i fragment kodu umożliwiający dodanie modułu do biblioteki kodów Excel VBA przy użyciu języka C#. Demonstruje dostęp do projektu VBA oraz dodawanie modułów i kodu w skoroszycie.

Kroki modyfikacji biblioteki kodów VBA programu Excel przy użyciu języka C#

  1. Ustaw IDE tak, aby używało Aspose.Cells for .NET do dodawania modułu i kodu
  2. Utwórz workbook, uzyskaj dostęp do arkusza i dodaj VBA module
  3. Uzyskaj dostęp do nowo utworzonego modułu, korzystając z nowego indeksu modułu
  4. Ustaw nazwę i kod modułu
  5. Zapisz wyjściowy plik Excel z nowym makrem VBA

Poniższe kroki wyjaśniają proces dodawania modułu do biblioteki kodu źródłowego Excel VBA przy użyciu języka C#. Uzyskaj dostęp do kolekcji VbaProject.Modules wybranego skoroszytu i wywołaj metodę Add(), aby dodać nowy moduł. Uzyskaj odniesienie do nowo utworzonego modułu i ustaw jego nazwę i kody na żądane wartości przed zapisaniem wynikowego pliku XLSM.

Kod do aktualizacji biblioteki makr programu Excel przy użyciu języka 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");
}
}

Ten przykładowy kod demonstruje, jak uzyskać dostęp do biblioteki kodów VBA przy użyciu języka C# w pliku Excel oraz dodać moduł i kod. Przykładowy kod w module wyświetla okno komunikatu w programie MS Excel za każdym razem, gdy zmieni się wartość komórki A1. To okno komunikatu zawiera zaktualizowaną wartość w komórce, jednakże możesz zmienić kod zgodnie ze swoimi wymaganiami.

W tym artykule nauczyliśmy się dodawać makra do pliku Excel. Aby wyświetlić formuły w Excelu, zapoznaj się z artykułem na temat jak wyświetlać formuły w Excelu przy użyciu C#.

 Polski