ThisWorkbook.Close的工作方式不同,具体取决于宏的执行方式。如果宏是由用户单击工作簿按钮执行的,则当所有操作完成且宏完成后, onChange = event => {
let inputText = event.target.value;
if (this.state.counter > Number(inputText)) {
this.setState({
counter: Number(inputText),
inputText
});
} else {
this.setState({ inputText });
}
};
onIncrease = () => {
if (this.state.counter < Number(this.state.inputText)) {
let counter = this.state.counter + 1;
this.setState({ counter });
}
};
将按预期关闭工作簿。如果在打开工作簿ThisWorkbook.Close
时宏自动执行,则ThisWorkbook.Close不会关闭工作簿。
打开工作簿后,(Workbook_Open())
会调用主例程Notes.OpenForm。 Workbook_Open()
在模块Workbook_Open()
中,而OpenForm在模块"ThisWorkbook"
中。
如果用户单击按钮,它将执行"Notes"
,该调用也称为SendETSNote_Click()
。 Notes.OpenForm
在SendETSNote
模块中,并从模块Sheet1(ETS Notes Form)
调用OpenForm。
我已经包含了Notes
,Workbook_Open()
的代码和试图关闭工作簿的例程-存储在SendETSNote()
模块中的Done_Click()
。
更多背景:OpenForm将工作簿的大小调整为最小大小,并打开一个用户窗体。我希望用户不要看到Excel工作簿,而只能看到用户表单。用户填写表单并通过电子邮件发送其内容后,用户可以单击“完成”,这将关闭表单并关闭工作簿。
如上所述,如果宏通过Workbook_Open()启动,则ThisWorkbook.Close不会关闭工作簿。如果宏通过Notes
启动,则工作簿将关闭。
SendETSNote_Click()
我希望ThisWorkbook.Close不管宏如何启动都关闭工作簿。