我有一个场景来生成和验证excel单元格值与日期单元格通过VB.NET,一切正常,当我在单元格中键入一个值,但何时我在单元格中复制粘贴任何字符串值并且永远不会验证。限制在VB.NET中的Excel单元格粘贴(Ctrl-V)
问题:我想限制从VB.NET的单元格粘贴(Ctrl-V)。我怎样才能做到这一点?
这是我的代码:
worksheet.Range(DateRange).Validation.Delete()
worksheet.Range(DateRange).Validation
.Add(ValidationType.Date, ValidationAlertStyle.Stop,
ValidationOperator.Greater, dt, Nothing)
worksheet.Range(DateRange).NumberFormat = "mm/dd/yyyy"
worksheet.Range(DateRange).Validation.IgnoreBlank = True
worksheet.Range(DateRange).Validation.InputTitle = "Excel Validation"
worksheet.Range(DateRange).Validation.ErrorTitle = "Error in Date"
什么是副本的来源?如果这些是单元格,则可能是在粘贴日期时删除了验证。 – 2012-01-27 14:11:13
您好Vash,复制的来源可以是日期以外的任何东西(字符串),该单元接受该值不是日期。所以我正在扼杀我们应该限制该单元格中的复制粘贴。请给我一些关于如何用VB.NET做到这一点的想法。 – Ramesh 2012-01-30 07:39:41
@Ramesh。我敢肯定,限制在Excel中复制和粘贴但仍允许编辑的唯一方法是通过宏来捕获它。正如下面的卢克所示,你可以编写宏来完成它。要将这些宏导入工作簿,可以使用[本教程](http://support.microsoft.com/kb/303871)帮助您通过VB.NET编写它们。 – 2012-05-08 00:44:24