⑴ c如何注册activex控件
如何注册ocx控件
注册ocx控件的方法步骤如下:1.双击鼠标左键打开c盘。
2.打开“窗口”。如果计算机是32位系统,请将comdlg32.ocx文件移动到system32文件夹中。如果计算机是64位的,请将其移动到sysWOW64文件夹中。
3.按住键盘上的“winr”开始运行。如果计算机是32位,请输入以下字符,然后单击“确定”。
4.如果计算机是64位,请输入以下字符,然后单击“确定”。通过以上步骤可以注册ocx控件。
win7旗舰版activex控件怎么安装?
win7旗舰版activex控件安装方法:
1.WindowsVista中ActiveX控件其它非常简单,点击“开始”→“控制面板”→“程序”,点击“打开或关闭Windows功能”。打开或关闭Windows功能,
2.在“Windows功能”窗口下,选中“ActiveX安装程序服务”的复选框。点击“确定”按钮。ActiveX安装程序服务;
3.Windows会配置该功能,配置后即可使用。
如何使用C#开发“类ActiveX组件”?
1C#开发技术_使用C#开发ActiveX控件20.0.0.0.ActiveX控件以前也叫做OLE控件或OCX控件,它是一些软件组件或对象,可以将其插入到WEB网页或其它应用程序中。
使用A.笔记本怎么设置浏览器允许使用activex?
设置浏览器允许使用activex方法
1、首先打开开浏览器,在窗口的右上角点击设置图标,在展开的菜单中点击“Internet选项”按钮。
2、在打开的窗口中点击顶部导航条上的“安全”按钮。
3、在安全界面中点击下方的“自定义级别”按钮打开自定义级别设置界面。
4、最后在自定义级别设置界面中将“运行ActiveX控件和插件”选择为“启用”,然后点击“确定”按钮,即可设置浏览器允许使用activex
怎么启用ActiveX控件?
在360浏览器的Internet属性界面中可以启用activex控件,具体操作请参照以下步骤。
1、首先在电脑上打开360浏览器,点击界面右上角的菜单按钮。
3、在Internet属性里面找到“安全”选项卡里面的“自定义级别”,进行点击。
4、接着把三个ActiveX选项启用,点击确定。
5、点击确定按钮后,会弹出一个警告窗口,直接点击是。
6、然后返回属性设置主界面,点击确定。完成以上设置后,即可在360浏览器中启用activex控件。
如何添加ActiveX控件?
解决方法如下:
1、浏览器禁用安装Activex插件:解决的方法就是要把浏览器禁用的Activex插件设置为允许,首先打开浏览器,然后选择菜单栏上工具选项;
2、选择工具选项之后,选择下拉菜单的Internet选项;
3、打开Internet选项之后,切换到安全选项卡,然后选择安全选项卡下的自定义级别;
4、单击自定义级别之后打开安全设置窗口,将重置为一栏的安全级别设置为安全级-中,然后勾选下载已签名的Activex控件一栏的启用,再勾选运行Activex控件和插件一栏的启用,把该控件和插件给启用上来,然后单击确定按钮;
5、设置完成之后单击确定按钮,关闭浏览器,然后重新启用浏览器。拓展资料:ActiveX控件是用于互联网的很小的程序,有时称为插件程序。它们会允许播放动画,或帮助执行任务,如在MicrosoftUpdate安装安全更新,因此可以增强您的浏览体验。ActiveX是Microsoft对于一系列策略性面向对象程序技术和工具的称呼,其中主要的技术是组件对象模型(COM)。在有目录和其它支持的网络中,COM变成了分布式COM(DCOM)。在创建包括ActiveX程序时,主要的工作就是组件,一个可以自足的在ActiveX网络(Windows,Mac,Linux)中任意运行的程序。这个组件就是ActiveX控件。ActiveX是Microsoft为抗衡SunMicrosystems的java技术而提出的,此控件的功能和javaapplet功能类似。Windows操作系统中以OCX结尾的文件,OCX代表"对象链接与嵌入控件"(OLE),这个技术是Microsoft提出的程序技术,用于处理桌面文件的混合使用。COM的概念已经取代OLE的一部分,Microsoft也使用ActiveX控件代表组件对象。
⑵ Java调用com组件操作word使用总结
一 准备工作
先了解一下概念 JACOB 就是 JAVA Bridge的缩写 提供自动化的访问的功能 也是通过JNI功能访问windows平台下的组件或者win 系统库的 这是一个开始于 年的开源项目的成果 有很多使用者对该项目进行了修改 做出了自己的贡献
Jacob下载地址 ?group_id= &package_id=
我在这里下载了Jacob 和jacob 的版本两个版本
这里下载的是目前最新的Jacob 的Release版
另外java操作word方式还有(个人认为通过jacob最好 自己可以扩展 网上除poi之外几乎全是java 技术实现的):
( ):Apache POI Java API To Access Microsoft Format Files();对word处理不够强处理Excel功能可以 但是全是通过java完成的 不需 要组件支持;
( ):java word 是一个在java程序中调用 MS Office Word 文档的组件(类库) 该组件提供了一组简单的接口 以便java程序调用他的服务操作Word 文档 (好象也是用的java 技术);
( )web开发语言操作word的功能最好还是用第三方的控件 看看这个SOAOFFICE 还可以使用js 写VBA呢
二 安装Jacob
Jacob的安装非常的简单 我们解开下载的jacob_ zip 在文件夹中找到jacob dll和jacob jar两个文件 如果是 Jacob 则是jacob x dll( 位 机和jacob x dll( 位)和 jacob jar两个文件 Jacob dll直接放到系统的system 文件夹下就行了 连注册都不用的(或者拷贝到jdk或者jre的bin目 录下也行 当前测试文件所在的目录也行 就是只要在java library path中就可以) 而jacob jar设置到classpath中去就 可以了 或者在IDE开发环境的工程中设置扩展库也一样的 我是这样使用的将jacob x dll或复制 到%Tomcat %in目录下将jacob jar复制到%Tomcot %Sharelib目录下 我使用过程中感觉放到这里是一个最终解决 办法 当你放哪都有问题的时候 我这样用之后再没有出过因为系统不一样出现的各种各样的问题 当然你作的是web的项目
注意使用jacob一写要安装word 我装的word 如果是操作word 就不用jacob了(好像这方面的API)
对jacob dll几种配置方法 (网上看到)
: :
把jacob dll文件 复制到 windowssystem 目录下 (注 我用的时候这个方法不能运行)
把jacob dll放入 Javajdk _ jrein目录下 把jacob jar放入 Javajdk _ jrelibext目录下 可以正常运行
把jacob dll放入 glcsrc目录下 把jacob jar放入WEB INFlib目录下 也是可以正常运行
三 使用(以下是我改写的一个word操作类 希望有兴趣的朋友完善 记得发给我一份)
//注意java操作word关键是定位操作对象;
import jacob activeX ActiveXComponent;
import Dispatch;
import Variant;
/**
* jacob操作MSword类
* @author
*/
public class WordBean {
// word文档
private Dispatch doc;
// word运行程序对象
private ActiveXComponent word;
// 所有word文档集合
private Dispatch documents;
// 选定的范围或插入点
private Dispatch selection;
private boolean saveOnExit = true;
public WordBean()throws Exception{
if (word == null) {
word = new ActiveXComponent( Word Application );
word setProperty( Visible new Variant(false)); //不可见打开word
word setProperty( AutomationSecurity new Variant( )); //禁用宏
}
if (documents == null)
documents = word getProperty( Documents ) toDispatch();
}
/**
* 设置退出时参数
*
* @param saveOnExit
* boolean true 退出时保存文件 false 退出时不保存文件
*/
public void setSaveOnExit(boolean saveOnExit) {
this saveOnExit = saveOnExit;
}
/**
* 创建一个新的word文档
*
*/
public void createNewDocument() {
doc = Dispatch call(documents Add ) toDispatch();
selection = Dispatch get(word Selection ) toDispatch();
}
/**
* 打开一个已存在的文档
*
* @param docPath
*/
public void openDocument(String docPath) {
closeDocument();
doc = Dispatch call(documents Open docPath) toDispatch();
selection = Dispatch get(word Selection ) toDispatch();
}
/**
*只读 打开一个保护文档
* @param docPath 文件全名
* @param pwd 密码
*/
public void openDocumentOnlyRead(String docPath String pwd)throws Exception {
closeDocument();
// doc = Dispatch invoke(documents Open Dispatch Method
// new Object[]{docPath new Variant(false) new Variant(true) new Variant(true) pwd}
// new int[ ]) toDispatch();//打开word文件
doc = Dispatch callN(documents Open new Object[]{docPath new Variant(false)
new Variant(true) new Variant(true) pwd new Variant(false)}) toDispatch();
selection = Dispatch get(word Selection ) toDispatch();
}
public void openDocument(String docPath String pwd)throws Exception {
closeDocument();
doc = Dispatch callN(documents Open new Object[]{docPath new Variant(false)
new Variant(false) new Variant(true) pwd}) toDispatch();
selection = Dispatch get(word Selection ) toDispatch();
}
/**
* 把选定的内容或插入点向上移动
*
* @param pos
* 移动的距离
*/
public void moveUp(int pos) {
if (selection == null)
selection = Dispatch get(word Selection ) toDispatch();
for (int i = ; i < pos; i++)
Dispatch call(selection MoveUp );
}
/**
* 把选定的内容或者插入点向下移动
*
* @param pos
* 移动的距离
*/
public void moveDown(int pos) {
if (selection == null)
selection = Dispatch get(word Selection ) toDispatch();
for (int i = ; i < pos; i++)
Dispatch call(selection MoveDown );
}
/**
* 把选定的内容或者插入点向左移动
*
* @param pos
* 移动的距离
*/
public void moveLeft(int pos) {
if (selection == null)
selection = Dispatch get(word Selection ) toDispatch();
for (int i = ; i < pos; i++) {
Dispatch call(selection MoveLeft );
}
}
/**
* 把选定的内容或者插入点向右移动
*
* @param pos
* 移动的距离
*/
public void moveRight(int pos) {
if (selection == null)
selection = Dispatch get(word Selection ) toDispatch();
for (int i = ; i < pos; i++)
Dispatch call(selection MoveRight );
}
/**
* 把插入点移动到文件首位置
*
*/
public void moveStart() {
if (selection == null)
selection = Dispatch get(word Selection ) toDispatch();
Dispatch call(selection HomeKey new Variant( ));
}
/**
* 从选定内容或插入点开始查找文本
*
* @param toFindText
* 要查找的文本
* @return boolean true 查找到并选中该文本 false 未查找到文本
*/
@SuppressWarnings( static access )
public boolean find(String toFindText) {
if (toFindText == null || toFindText equals( ))
return false;
// 从selection所在位置开始查询
Dispatch find = word call(selection Find ) toDispatch();
// 设置要查找的内容
Dispatch put(find Text toFindText);
// 向前查找
Dispatch put(find Forward True );
// 设置格式
Dispatch put(find Format True );
// 大小写匹配
Dispatch put(find MatchCase True );
// 全字匹配
Dispatch put(find MatchWholeWord True );
// 查找并选中
return Dispatch call(find Execute ) getBoolean();
}
/**
* 把选定选定内容设定为替换文本
*
* @param toFindText
* 查找字符串
* @param newText
* 要替换的内容
* @return
*/
public boolean replaceText(String toFindText String newText) {
if (!find(toFindText))
return false;
Dispatch put(selection Text newText);
return true;
}
/**
* 全局替换文本
*
* @param toFindText
* 查找字符串
* @param newText
* 要替换的内容
*/
public void replaceAllText(String toFindText String newText) {
while (find(toFindText)) {
Dispatch put(selection Text newText);
Dispatch call(selection MoveRight );
}
}
/**
* 在当前插入点插入字符串
*
* @param newText
* 要插入的新字符串
*/
public void insertText(String newText) {
Dispatch put(selection Text newText);
}
/**
*
* @param toFindText
* 要查找的字符串
* @param imagePath
* 图片路径
* @return
*/
public boolean replaceImage(String toFindText String imagePath) {
if (!find(toFindText))
return false;
Dispatch call(Dispatch get(selection InLineShapes ) toDispatch()
AddPicture imagePath);
return true;
}
/**
* 全局替换图片
*
* @param toFindText
* 查找字符串
* @param imagePath
* 图片路径
*/
public void replaceAllImage(String toFindText String imagePath) {
while (find(toFindText)) {
Dispatch call(Dispatch get(selection InLineShapes ) toDispatch()
AddPicture imagePath);
Dispatch call(selection MoveRight );
}
}
/**
* 在当前插入点插入图片
*
* @param imagePath
* 图片路径
*/
public void insertImage(String imagePath) {
Dispatch call(Dispatch get(selection InLineShapes ) toDispatch()
AddPicture imagePath);
}
/**
* 合并单元格
*
* @param tableIndex
* @param fstCellRowIdx
* @param fstCellColIdx
* @param secCellRowIdx
* @param secCellColIdx
*/
public void mergeCell(int tableIndex int fstCellRowIdx int fstCellColIdx
int secCellRowIdx int secCellColIdx) {
// 所有表格
Dispatch tables = Dispatch get(doc Tables ) toDispatch();
// 要填充的表格
Dispatch table = Dispatch call(tables Item new Variant(tableIndex))
toDispatch();
Dispatch fstCell = Dispatch call(table Cell
new Variant(fstCellRowIdx) new Variant(fstCellColIdx))
toDispatch();
Dispatch secCell = Dispatch call(table Cell
new Variant(secCellRowIdx) new Variant(secCellColIdx))
toDispatch();
Dispatch call(fstCell Merge secCell);
}
/**
* 在指定的单元格里填写数据
*
* @param tableIndex
* @param cellRowIdx
* @param cellColIdx
* @param txt
*/
public void putTxtToCell(int tableIndex int cellRowIdx int cellColIdx
String txt) {
// 所有表格
Dispatch tables = Dispatch get(doc Tables ) toDispatch();
// 要填充的表格
Dispatch table = Dispatch call(tables Item new Variant(tableIndex))
toDispatch();
Dispatch cell = Dispatch call(table Cell new Variant(cellRowIdx)
new Variant(cellColIdx)) toDispatch();
Dispatch call(cell Select );
Dispatch put(selection Text txt);
}
/**
* 获得指定的单元格里数据
*
* @param tableIndex
* @param cellRowIdx
* @param cellColIdx
* @return
*/
public String getTxtFromCell(int tableIndex int cellRowIdx int cellColIdx) {
// 所有表格
Dispatch tables = Dispatch get(doc Tables ) toDispatch();
// 要填充的表格
Dispatch table = Dispatch call(tables Item new Variant(tableIndex))
toDispatch();
Dispatch cell = Dispatch call(table Cell new Variant(cellRowIdx)
new Variant(cellColIdx)) toDispatch();
Dispatch call(cell Select );
String ret = ;
ret = Dispatch get(selection Text ) toString();
ret = ret substring( ret length() ); //去掉最后的回车符;
return ret;
}
/**
* 在当前文档拷贝剪贴板数据
* @param pos
*/
public void pasteExcelSheet(String pos) {
moveStart();
if (this find(pos)) {
Dispatch textRange = Dispatch get(selection Range ) toDispatch();
Dispatch call(textRange Paste );
}
}
/**
* 在当前文档指定的位置拷贝表格
*
* @param pos
* 当前文档指定的位置
* @param tableIndex
* 被拷贝的表格在word文档中所处的位置
*/
public void Table(String pos int tableIndex) {
// 所有表格
Dispatch tables = Dispatch get(doc Tables ) toDispatch();
// 要填充的表格
Dispatch table = Dispatch call(tables Item new Variant(tableIndex))
toDispatch();
Dispatch range = Dispatch get(table Range ) toDispatch();
Dispatch call(range Copy );
if (this find(pos)) {
Dispatch textRange = Dispatch get(selection Range ) toDispatch();
Dispatch call(textRange Paste );
}
}
/**
* 在当前文档指定的位置拷贝来自另一个文档中的表格
*
* @param anotherDocPath
* 另一个文档的磁盘路径
* @param tableIndex
* 被拷贝的表格在另一格文档中的位置
* @param pos
* 当前文档指定的位置
*/
public void TableFromAnotherDoc(String anotherDocPath int tableIndex
String pos) {
Dispatch doc = null;
try {
doc = Dispatch call(documents Open anotherDocPath)
toDispatch();
// 所有表格
Dispatch tables = Dispatch get(doc Tables ) toDispatch();
// 要填充的表格
Dispatch table = Dispatch call(tables Item
new Variant(tableIndex)) toDispatch();
Dispatch range = Dispatch get(table Range ) toDispatch();
Dispatch call(range Copy );
if (this find(pos)) {
Dispatch textRange = Dispatch get(selection Range )
toDispatch();
Dispatch call(textRange Paste );
}
} catch (Exception e) {
e printStackTrace();
} finally {
if (doc != null) {
Dispatch call(doc Close new Variant(saveOnExit));
doc = null;
}
lishixin/Article/program/Java/hx/201311/26342