陷阱粘贴事件在Excel中,并只允许pastespecial

我开发了excel模板,并遇到以下问题…

有一些情况下,我必须validationcell.Hence格式的单元格必须保存。如果用户从不同的表格复制到模板的单元格的格式被覆盖。 有没有办法在Excel中捕获粘贴事件,并使用pastespecial使用C#

提前致谢….

我google了两三天,find工作,在使用代码之前,我们必须检查信誉访问vba对象模型在macros设置….的Excel中运行该项目..

//Add macro module Microsoft.Vbe.Interop.VBComponent component = this.VBProject.VBComponents .Add(Microsoft.Vbe.Interop.vbext_ComponentType.vbext_ct_StdModule); component.CodeModule.AddFromString("Sub Paste_cell()" + Environment.NewLine + "If MsgBox(\"Normal paste operation has been disabled. You are about to Paste Values (cannot be undone), proceed?\", vbQuestion + vbOKCancel, GSAPPNAME) = vbOK Then" + Environment.NewLine + "On Error Resume Next" + Environment.NewLine + "ActiveSheet.PasteSpecial Format:=\"Text\", Link:=False, DisplayAsIcon:=False" + Environment.NewLine + "Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False" + Environment.NewLine + "End If" + Environment.NewLine + "End Sub"); //trap paste event CommonData.DATASHEET.Application.OnKey("^v", "Paste_cell");