关于用C#开发excel工作薄的几个问题求教,从可用事件中找不到合适的事件

一转程序员 2015-07-08 08:44:25
1、怎样禁止修改excel?想在编辑单元格内容之前提示,但事件中只有一个before_doubleclick,如果选中一个单元格直接输入内容无效。

2、怎样禁止插入行和列?我试了保护工作表命令,但是设置好以后就无法用c#往表中写数据了

3、怎样读取选中行的列表?比如我在sheet1中加上一个按钮botton1,选中了第2行、第5行、第6行,想实现点击botton1后把选中的这三行移动到sheet2中,应该怎样写代码?
...全文
176 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Eiceblue 2015-07-10
  • 打赏
  • 举报
回复
第三个问题直接读取复制过去,原来的删掉
一转程序员 2015-07-09
  • 打赏
  • 举报
回复
但是第三个问题不能通过vba实现,必须用c#做,应该怎样实现?
一转程序员 2015-07-09
  • 打赏
  • 举报
回复
引用 2 楼 以专业开发人员为伍的回复:
不是什么都捕获事件。如果捕获事件去“禁止”,那是一个非常不好的用户体验,你先让用户输入然后再告诉用户“禁止输入”?excel的对象本身就可以保护指定区域。你应该执行这类功能,而不是捕获事件。 用程序去写数据(而禁止用户写数据),自然是先禁用保护,然后写数据,然后再启用保护。 如何用代码执行“选中、复制、粘贴”的操作,你可以看看 Excel vba 方面的说明。在这方面通常有具体而详细的对象和函数说明(二vsto等等中缺缺乏相关文档),在c#中调用时所针对的对象和方法基本上是一模一样的,与发差别非常小。 另外通常在excel中使用“自动录制宏”的形式录制一段代码,然后手工翻译为c#代码,用在你的程序中。这样就省得去死记硬背什么对象和函数名了。
那只能禁用——启用——禁用了
  • 打赏
  • 举报
回复
你可以在 Excel Home 注册一个账号,然后去学习。包括其中的vba等等板块,都有大量的可下载的开源的 excel 操作代码可以借鉴(改为c#代码即可)。 在csdn并没有一个真正的excel开发论坛。
  • 打赏
  • 举报
回复
不是什么都捕获事件。如果捕获事件去“禁止”,那是一个非常不好的用户体验,你先让用户输入然后再告诉用户“禁止输入”?excel的对象本身就可以保护指定区域。你应该执行这类功能,而不是捕获事件。 用程序去写数据(而禁止用户写数据),自然是先禁用保护,然后写数据,然后再启用保护。 如何用代码执行“选中、复制、粘贴”的操作,你可以看看 Excel vba 方面的说明。在这方面通常有具体而详细的对象和函数说明(二vsto等等中缺缺乏相关文档),在c#中调用时所针对的对象和方法基本上是一模一样的,与发差别非常小。 另外通常在excel中使用“自动录制宏”的形式录制一段代码,然后手工翻译为c#代码,用在你的程序中。这样就省得去死记硬背什么对象和函数名了。
tcmakebest 2015-07-08
  • 打赏
  • 举报
回复
貌似只能用VB吧,前两个应该不是编程来解决的事情,最后一个可以实现,查查VBA手册, 多选的区域用 Areas 属性,这是一个集合, 遍历后用 Address 看是不是整行的格式, 如果是的话, 再复制,删除.

110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧