我正在开发 C# vsto Excel 应用程序。
每当用户从另一个 Excel 工作表将某些内容粘贴到 Excel 模板中时,它还会将单元格格式与单元格数据一起粘贴到 Excel 模板中。我想避免这种情况。
所以我用谷歌搜索,发现了术语“特殊粘贴”。
特殊粘贴只会粘贴内容,不会改变当前工作表的格式。
我想介绍特殊粘贴我的 vsto 应用程序中的选项。
我这里有代码,
Application.OnKey("^v", "PasteSpecV");
但它不工作...
谁能帮我这个 ?
- 下载 dll 从http://globalmousekeyhook.codeplex.com/ http://globalmousekeyhook.codeplex.com/
-
添加引用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;
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)