Attribuer une macro à une commande de formulaire
Contents
[
Hide
]
Aspose.Cells vous permet d’attribuer un code de macro à une Commande de formulaire comme un bouton. Veuillez utiliser la propriété Shape.MarcoName pour attribuer un nouveau code de macro à une Commande de formulaire à l’intérieur du classeur.
L’exemple de code suivant crée un nouveau classeur, attribue un code de macro à un bouton de formulaire et enregistre la sortie au format XLSM. Une fois que vous ouvrirez le fichier XLSM de sortie dans Microsoft Excel, vous verrez le code de macro suivant.
Sub ShowMessage()
MsgBox "Welcome to Aspose!"
End Sub
Attribuer une macro à une commande de formulaire en C#
Voici l’exemple de code pour générer le fichier XLSM de sortie avec un code de macro.
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); |