Тази статия ръководи как да промените 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#.