Tilldela Makro till Formulärkontroll
Contents
[
Hide
]
Aspose.Cells låter dig tilldela ett makro kod till en formulärkontroll som en knapp. Använd Shape.MarcoName -egenskapen för att tilldela en ny makro kod till en formulärkontroll i arbetsboken.
Följande exempelkod skapar en ny arbetsbok, tilldela en makro kod till en formulärknapp och sparar utdata i XLSM-format. När du sedan öppnar utdata-XLSM-filen i Microsoft Excel kommer du att se följande makro kod.
Sub ShowMessage()
MsgBox "Welcome to Aspose!"
End Sub
Tilldela makro till formulärkontroll i C#
Här är ett exempel på kod för att generera utdata-XLSM-fil med makro kod.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
if (!System.IO.Directory.Exists(dataDir)) | |
{ | |
System.IO.Directory.CreateDirectory(dataDir); | |
} | |
Aspose.Cells.Workbook workbook = new Aspose.Cells.Workbook(); | |
Aspose.Cells.Worksheet sheet = workbook.Worksheets[0]; | |
int moduleIdx = workbook.VbaProject.Modules.Add(sheet); | |
Aspose.Cells.Vba.VbaModule module = workbook.VbaProject.Modules[moduleIdx]; | |
module.Codes = | |
"Sub ShowMessage()" + "\r\n" + | |
" MsgBox \"Welcome to Aspose!\"" + "\r\n" + | |
"End Sub"; | |
Aspose.Cells.Drawing.Button button = sheet.Shapes.AddButton(2, 0, 2, 0, 28, 80); | |
button.Placement = Aspose.Cells.Drawing.PlacementType.FreeFloating; | |
button.Font.Name = "Tahoma"; | |
button.Font.IsBold = true; | |
button.Font.Color = System.Drawing.Color.Blue; | |
button.Text = "Aspose"; | |
button.MacroName = sheet.Name + ".ShowMessage"; | |
dataDir = dataDir + "Output.out.xlsm"; | |
workbook.Save(dataDir); |