2017-05-09 3 views
-2

J'ai créé un bouton ActiveX dans mon SourceCode et l'ai localisé. Après cela, j'ai changé la protection de légende et l'obtenir un événement de clic. Maintenant, je dois changer la propriété "Print Object" dans mon code source.VBA définir la propriété "PrintObject" false, inlinecode

Mais je ne sais pas comment.

J'ai essayé un:

ActiveSheet.OLEObjects((22 + counter)).Object.PrintObject= False 

(22 est l'indice du bouton)

et

Dim rangeString As range 
Dim name As String 
name = "J" & verifyRow & ":" & "K" & verifyRow 
Set rangeString = ActiveSheet.range(name) 
Set obj = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False, DisplayAsIcon:=False, Left:=rangeString.Left, Top:=rangeString.Top, Width:=rangeString.Width, Height:=rangeString.Height, PrintObject:=False) 

Mais rien ne fonctionne.

+2

Votre question est très floue, vous ne l'avez même pas posée. Aussi, "* Je ne trouve rien à ce sujet" signifie que vous n'avez même pas utilisé Google parce que [Button.PrintObject Property] (https://msdn.microsoft.com/fr-fr/library/microsoft.office. tools.excel.controls.button.printobject.aspx) est le premier résultat si vous google pour "PrintObject". Montrez-nous ce que vous avez essayé de faire (par exemple votre code) ce qu'il fait réellement et ce que vous attendez de lui. Voir [demander] pour de l'aide comment écrire une bonne question. –

+0

Je suis désolé. Je sais que je peux changer cette propriété dans PropertyView à partir de cet objet. Mais je veux placer cette propriété dans mon SourceCode. – Nyxero

Répondre

0

Vous pouvez utiliser

ActiveSheet.OLEObjects("CommandButton1").PrintObject = False 

CommandButton1 est le nom (pas la légende) de votre bouton.

Ou si vous souhaitez utiliser les indices

ActiveSheet.OLEObjects(1).PrintObject = False 

comme écrit dans les références: Button.PrintObject Property.


Au lieu de ActiveSheet Je recommande d'utiliser ThisWorkbook.Worksheets("Sheet1") pour spécifier complètement la feuille de calcul.