San*_*ile 4 c# excel vsto copy-paste visual-studio-2008
我正在使用C#vsto Excel应用程序.
每当用户从另一个Excel工作表中粘贴excel模板中的内容时,它还会将单元格格式与单元格数据一起粘贴到Excel模板中.我想避免这种情况.所以我用谷歌搜索,我遇到了特殊的术语粘贴.
Paste special将仅粘贴内容,不会改变当前工作表的格式.
我想在我的vsto应用程序中引入粘贴特殊选项.
我这里有代码,
Application.OnKey("^v", "PasteSpecV");
Run Code Online (Sandbox Code Playgroud)
但它没有用......任何人都可以帮我这个吗?
添加参考MouseKeyboardActivityMonitor.dll
private KeyboardHookListener k_keyListener;
private void ThisWorkbook_Startup(object sender, System.EventArgs e)
{
k_keyListener = new KeyboardHookListener(new AppHooker());
k_keyListener.Enabled = true;
k_keyListener.KeyDown += new KeyEventHandler(k_keyListener_KeyDown);
}
void k_keyListener_KeyDown(object sender, KeyEventArgs e)
{
if (Control.ModifierKeys == Keys.Control)
if (e.KeyCode == Keys.V)
{
Worksheet actSht = ActiveSheet as Worksheet;
Range rng = actSht.Application.Selection as Range;
if (MessageBox.Show("You are about to paste values only. Do you want to continue?", "Paste Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
rng.PasteSpecial(XlPasteType.xlPasteValues, XlPasteSpecialOperation.xlPasteSpecialOperationNone, false, false);
}
e.Handled = true;
}
}
Run Code Online (Sandbox Code Playgroud)