عناصر تحكم النموذج

يقوم FormControl بتعيين معلومات عناصر تحكم النموذج مباشرة.

type FormControl struct {
    Cell         string
    Macro        string
    Width        uint
    Height       uint
    Checked      bool
    CurrentVal   uint
    MinVal       uint
    MaxVal       uint
    IncChange    uint
    PageChange   uint
    Horizontally bool
    CellLink     string
    Text         string
    Paragraph    []RichTextRun
    Type         FormControlType
    Format       GraphicOptions
}

إضافة عنصر تحكم نموذج

func (f *File) AddFormControl(sheet string, opts FormControl) error

يوفر AddFormControl طريقة لإضافة زر عنصر تحكم النموذج في ورقة عمل حسب اسم ورقة العمل المحددة وخيارات التحكم في النموذج. نوع عنصر تحكم النموذج المعتمد: الزر وخانة الاختيار ومربع المجموعة والتسمية وزر الخيار وشريط التمرير ودوار. في حالة تعيين ماكرو لعنصر تحكم النموذج، يجب أن يكون ملحق المصنف .xlsm أو .xltm. يجب أن تكون قيمة التمرير بين 0 و 30000.

مثال 1 ، أضف عنصر تحكم نموذج الزر باستخدام ماكرو ونص منسق وحجم زر مخصص وخاصية الطباعة على ورقة1!A2 ، ودع الزر لا يتحرك أو يحجم مع الخلايا:

إضافة عنصر تحكم نموذج زر باستخدام Excelize

enable := true
err := f.AddFormControl("ورقة1", excelize.FormControl{
    Cell:   "A2",
    Type:   excelize.FormControlButton,
    Macro:  "Button1_Click",
    Width:  140,
    Height: 60,
    Text:   "Button 1\r\n",
    Paragraph: []excelize.RichTextRun{
        {
            Font: &excelize.Font{
                Bold:      true,
                Italic:    true,
                Underline: "single",
                Family:    "Times New Roman",
                Size:      14,
                Color:     "777777",
            },
            Text: "C1=A1+B1",
        },
    },
    Format: excelize.GraphicOptions{
        PrintObject: &enable,
        Positioning: "absolute",
    },
})

مثال 2 ، أضف عناصر تحكم نموذج زر الخيار مع تحديد الحالة والنص على ورقة1!A1 و ورقة1!A2:

إضافة عناصر تحكم نموذج زر الخيار باستخدام Excelize

if err := f.AddFormControl("ورقة1", excelize.FormControl{
    Cell:    "A1",
    Type:    excelize.FormControlOptionButton,
    Text:    "Option Button 1",
    Checked: true,
    Height:  20,
}); err != nil {
    fmt.Println(err)
}
if err := f.AddFormControl("ورقة1", excelize.FormControl{
    Cell:    "A2",
    Type:    excelize.FormControlOptionButton,
    Text:    "Option Button 2",
    Height:  20,
}); err != nil {
    fmt.Println(err)
}

مثال 3 ، أضف عنصر تحكم نموذج زر الدوران في ورقة1!B1 لزيادة أو تقليل قيمة ورقة1!A1:

إضافة عنصر تحكم نموذج زر الدوران باستخدام Excelize

err := f.AddFormControl("ورقة1", excelize.FormControl{
    Cell:       "B1",
    Type:       excelize.FormControlSpinButton,
    Width:      15,
    Height:     40,
    CurrentVal: 7,
    MinVal:     5,
    MaxVal:     10,
    IncChange:  1,
    CellLink:   "A1",
})

مثال 4 ، أضف عنصر تحكم نموذج شريط التمرير أفقيا على ورقة1!A2 لتغيير قيمة ورقة1!A1 بالنقر فوق أسهم التمرير أو اسحب مربع التمرير:

إضافة عنصر تحكم نموذج شريط التمرير أفقيا باستخدام Excelize

err := f.AddFormControl("ورقة1", excelize.FormControl{
    Cell:         "A2",
    Type:         excelize.FormControlScrollBar,
    Width:        140,
    Height:       20,
    CurrentVal:   50,
    MinVal:       10,
    MaxVal:       100,
    IncChange:    1,
    PageChange:   1,
    CellLink:     "A1",
    Horizontally: true,
})

احصل على عناصر تحكم النموذج

func (f *File) GetFormControls(sheet string) ([]FormControl, error)

يسترد GetFormControls جميع عناصر التحكم في النموذج في ورقة عمل باسم ورقة عمل معينة. لاحظ أن هذه الوظيفة لا تدعم الحصول على عرض وارتفاع عناصر التحكم في النموذج حاليًا.

حذف عنصر تحكم النموذج

func (f *File) DeleteFormControl(sheet, cell string) error

يوفر DeleteFormControl طريقة حذف عنصر تحكم النموذج في ورقة عمل حسب اسم ورقة العمل ومرجع الخلية المحددين. على سبيل المثال، احذف عنصر تحكم النموذج في ورقة1!$A$1:

err := f.DeleteFormControl("ورقة1", "A1")

results matching ""

    No results matching ""