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#
- Ustaw IDE tak, aby używało Aspose.Cells for .NET do dodawania modułu i kodu
- Utwórz workbook, uzyskaj dostęp do arkusza i dodaj VBA module
- Uzyskaj dostęp do nowo utworzonego modułu, korzystając z nowego indeksu modułu
- Ustaw nazwę i kod modułu
- 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#.