从VBA自定义ActiveX按钮

时间:2017-04-21 12:05:05

标签: excel vba excel-vba

我已经制作了一段代码,当您单击按钮时,复制工作表,将其剥离以进行格式化,然后添加一个新按钮,并为其分配不同的宏。

我的问题是我的两个按钮都是灰色的,我想自定义它们。

第一个按钮是Excel控件元素,始终显示在原始工作表上。通过右键单击并输入格式菜单,我改变了字体,字体大小,下划线并加粗,但我找不到更改其背景颜色的选项。

第二个按钮是通过VBA创建的,是一个ActiveX按钮。添加它的代码如下

Sub TilføjKnap()
Dim Plads As Range
Dim Knap As OLEObject
Dim Kode As String

    Sheets("Indleveringsplan (2)").Activate
        Set Plads = ActiveSheet.Range("L7:N17")

        Set Knap = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False, DisplayAsIcon:=False)

        With Knap
            .Name = "EksportKnap"
            .Object.Caption = "Eksporter til PDF"
            .Left = Plads.Left + 10
            .Top = Plads.Top
            .Width = Plads.Width - 10
            .Height = Plads.Height
            .PrintObject = False
        End With

        Kode = "Private Sub EksportKnap_Click()" & vbNewLine
        Kode = Kode & "Call Eksporter" & vbNewLine
        Kode = Kode & "End Sub"

        With ActiveWorkbook.VBProject.VBComponents(Worksheets("Indleveringsplan (2)").CodeName).CodeModule
            .InsertLines .CountOfLines + 1, Kode
        End With

    End Sub

我假设我需要在With Knap中添加一些类似BackgroundColor的内容,但是我无法让它工作。

话虽如此,我还想强调文字,更改字体和字体大小以及加粗。

1 个答案:

答案 0 :(得分:1)

<application android:name=".ObjectClass.AppController" android:allowBackup="true" android:icon="@drawable/app_logo" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".LoginActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".PersonalDetails" android:label="@string/title_activity_personal_details" android:theme="@style/AppTheme.NoActionBar" /> <activity android:name=".SignUpRegistration.SignUp" /> <activity android:name="com.intsig.ccrengine.ISCardScanActivity" android:label="@string/app_name" /> 封装OleObject并通过CommandButton公开其界面,.Object

您可以使用类型变量来获取智能感知:

.Object.BackColor = vbRed