如何根据文件名创建VBA弹出消息?

时间:2019-01-15 12:36:03

标签: excel vba

我创建了一个电子表格模板,我希望用户立即使用新名称进行保存。我有VBA代码,可以创建新名称并将其放在“另存为”对话框中。

我想弹出一个窗口,告诉用户打开文件后立即将其“另存为”。我希望它仅在打开模板时才显示,而不是在用新名称保存后才显示。

Private Sub Workbook_Open()
MsgBox "You MUST use 'Save As' to save this file with a new name before editing"
End Sub

使用其他名称保存文件后,我不希望弹出窗口出现。我以为该子程序可以读取文件名,如果它与预定义的模板名称“ Field Time Template.xlxm”相匹配。

这可能是一个新问题,但是拥有一个脚本可以阻止或通知用户,如果他们单击“保存”而不是“另存为”也很好。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以考虑在检查活动工作簿的名称后打开模板时打开另存为提示。取消或覆盖模板后,工作簿将关闭。

class Bloc { 
  final _currentTabSink = PublishSubject<int>();
  final _currentTabIndex = BehaviorSubject<int>();

  Observable<int> get currentTabIndex => _currentTabIndex.stream;
  Function(int) get setTabIndex => _currentTabSink.sink.add;

  Bloc() {
    _currentTabSink.stream.pipe(_currentTabIndex);
  }

  dispose() {
    _currentTabSink.close();
    _currentTabIndex.close();
  }
}

这样,我想您的第二个问题将不再重要。