找不到指定模块0x8007007e(Excel浏览器 C#调用C++ 核酸检测设备 Excel批量翻译 解决方法)

Excel浏览器

新年第一天,笔者将“Excel浏览器”作为新年礼物送给您,祝您新年快乐,在新的一年,Excel网络函数库将一如既往的为帮助您提高工作效率而努力。

Excel浏览器是Excel网络函数库重要工具,专门针对各种网站或网页系统数据抓取而设计的,Excel 网络函数库中函数名以 W 或 ByWebBrowser结尾的函数都需要借助Excel浏览器。

Excel浏览器使Excel具备抓取网络数据的能力,属于“爬虫”工具。说到“爬虫”,很多人可能想到Python语言,那么Excel浏览器跟Python有没有关系呢?Excel浏览器跟Python没有关系,它本质上是一个浏览器,跟火狐狸Firefox浏览器的内核是同一个。从“爬虫”工具诞生的那一天开始,各类网站或系统的“反爬虫”能力也不但增强,比如有的网站要求必须登录后才能使用;有的网站为防止爬虫程序会根据光标轨迹判断移动鼠标的是人还是机器;有的网站大量使用Ajax延迟加载技术,导致无法直接从网页源码中获得目标数据。Excel浏览器为提高工作效率而生,它可处理各种网站或网页系统,尤其是运行于浏览器的内部业务系统。比如针对某某跨国公司供应商管理系统设计的接口,可显著提升供应商通过后台系统导入、导出、更新数据的能力。

下面介绍Excel浏览器的安装和使用方法

1. 安装Excel浏览器

从Excel网络函数库官网 安装页面下载Excel浏览器,如下如所示:

 

图片
 

下载后解压缩,找到 exe 程序 ExcelWebBrowser.exe,双击运行

 

图片
 

初始化数据库

 

图片
 

Excel浏览器使用的是SQLite嵌入式(轻量级)数据库,数据库初始化完毕后会在ExcelAPInet文件夹下生成数据库文件ExcelAPI.net.sqlite,如果该文件大小大于0,表示当前操作系统环境支持SQLite数据运行。

 

图片
 

2. 使用Excel浏览器

2.1 写Excel公式

以菜鸟裹裹快递查询为例,首先在Excel中写入公式GetKuaidiStatusByCainiaoguoguo(A2),其中A2指快递单号,菜鸟裹裹可自动识别快递公司。写好公式,回车后返回值“加入队列”,表示当前快递单号已加入待处理任务。

 

图片
 

2.2 设置数据抓取模式,启动抓取任务

选择菜鸟裹裹官网,待网页打开后,点击开始按钮,开始执行任务。下图中,定时器间隔默认5秒钟,如果网页打开慢,可以适当增大间隔时间。

 

图片
 

等待Excel浏览器自动处理,可通过Exce了浏览器底部状态栏观察任务执行情况。

 

图片
 

Exce浏览器查询快递的过程如下图所示:

 

图片
 

2.3 刷新公式

待浏览器处理完毕后,重新刷新公式。如果公式返回“正在取值”表明Excel浏览器还未处理。

 

图片
 

3 其他功能

3.1 电商网站

支持京东、淘宝、天猫等电商网站的商品数据抓取,比如抓取价格和存库数量。

 

图片
 

3.2 物流网站

支持菜鸟裹裹、17Track物流平台。

 

图片
 

3.3 翻译网站

支持Google、Bing、百度、Yandex、有道等翻译网站。

 

图片
 

3.4 门户网站

支持各类网页数据抓取。

 

图片
 

3.5 工具

提供Excel文件、工作表合拼和拆分功能。

 

图片
 

4 常见问题

4.1 无法加载 SQLite.Interop.DLL

初始化数据库时,如果出现”无法加载 DLL“SQLite.Interop.DLL”: 找不到指定的模块。(异常来自 HRESULT:0x8007007E)” 错误,请安装操作系统补丁vcredist_x86.exe或vcredist_x64.exe

 

图片
 

4.2 无法加载 mozglue

打开Excel浏览器时,遇到找不到指定的模块错误时,如下图所示,需修复操作系统文件。

 

图片
 

修复工具可从下载Windows修复工具,对操作系统进行修复。

 

图片
 

4.3 登录界面

使用菜鸟裹裹查询快递时,如果查询次数达到一定数量,菜鸟裹裹会弹出淘宝登录框,要求登录。此时使用淘宝帐号登录后可继续查询。

记一次C#调用C++踩过的坑

一般来说,C#调用C++生产的dll,如下:

C++的项目要设置为”导出dll的项目”,而且导出的函数,一般为:

extern “C” __declspec(dllexport) int Convrnx(int format, rnxopt_t opt, char *file, char **ofile){  ….}

弄出一个C++的dll后,放到C#的生成目录下,也就是和.exe放在一起;

而C#,则要:

[DllImport(“RtklibHelper.dll”, EntryPoint = “Convrnx”, CallingConvention = CallingConvention.Cdecl)]public static extern int Convrnx(int format, rnxopt_t opt, string file, string[] ofile){  ….}

坑一:C#的类型,怎么和C++的类型对应起来(如例子:string对应*char,string[]对应char**)

解一:有一款神奇的工具,名为:CLRInsideOut,微软的手笔:

 

图片
 

比如说:C++ 中的结构体 rnxopt_t ,其中又嵌套结构体snrmask_t等等,只需要将其用txt自上而下整理好(C++的声明写在前后很讲究),右边直接为C#代码;

坑二:在本机C#调用C++一切都正常,放到别的机器就有:找不到指定的模块。(异常来自 HRESULT:0x8007007E) ,各种搜索尝试都不行(包括尝试安装Vs c++环境)。

程序员的直觉:肯定是C++产出的dll,调用了系统的dll,而别的电脑又不一定有。

思路:找出这个dll,到底调用了什么东西

解二:又是使用微软的工具:

 

图片
图片
 

找到了,就是这些dll;

程序员的直觉:这个东西,绝逼是在c:\window下的,搜索一下,发现:WINMM.dll在两个文件夹都有,到底是哪个?

解:只需要到别的电脑搜一下,那个缺少就拷贝那个

全部揪出来:

 

图片
 

然后放到和exe相同的目录下;(按照C++ dll的习惯,动态库总会在当前目录和系统目录中找,所以没必要一个个放到目标电脑对应的文件夹中)

核酸检测设备驱动没有安装完整,一扫码出现采集错误提示框

 

图片
 

采样应用程序中发生了未经处理的异常。如果单击“继续”,应用程序将忽略此错误并尝试继续。如果单击“退出”,应用程序将立即关闭。

无法加载DLL “SQLite. Interop. dll”:找不到指定的模块。(异常来自HRESULT:0x8007007E)。详细信息 继续或退出

 

图片
 

 

图片
 

 

图片
 

 

图片
 

1、重装.netfromwork;2、重启服务器;3、重启数据库服务;4、运行数据库安装文件进行数据库修复;5、重装数据库。

 

图片
 

 

图片
 

 

图片
 

 

图片
 

 

图片
 

手机登记好形成二维码,然后二维码扫描枪扫描手机上生成的二维码,扫描成功后电脑上的登记软件就有了记录,然后就可以去做核酸了。

这个电脑上的等级软件是个绿色版本的,但是这个扫描枪的驱动需要安装正确,有可能dll被安全卫士拦截,或文件损坏,没有安装完整等,形成如下图

 

图片
 

解决办法就是重新多次安装驱动,期间由错误提示弹框,需要做好记录,根据错误提示发现那里出现了问题

记录好就可以跳过或关闭弹窗,其它办法

解决方法法一:手动将该dll文件放在c:/Windows/SysWOW64文件夹下(或System32下)但这个方法不推荐。

方法二:在项目根目录下,添加已有项的方式添加SQLite.Interop.dll文件。在文件属性之处选择如图选项

 

图片
 

发布之后运行发现解决了。

除此之外,还可以在sqlite下载页面中检查以下是否符合其要求

 

图片
 

适用于VB.NET/C#。简单整合32位SQLite跟64位SQLite,项目属性设置为anycpu的时候不会再有烦人的编译平台不同的提示,sqlite会自动根据系统的位数,而选择相应的版本。同时还阔以解决System.DllNotFoundException: 无法加载 DLL“SQLite.Interop.DLL”问题。

判断32位进程还是64位进程可以用 Environment.Is64BitProcess

 

图片
 

 

图片
 

在使用sqlite数据库的时候遇到的,这里做个总结;

在项目里添加 现有项 把SQLite.Interop.DLL文件添加进来,然后点击属性 修改一个属性,把 属性 复制到输出目录 改为 始终复制

然后打开你的项目属性 进入生成的 页面,把目标改为 x86 或者 x64 选择你自己的;然后运行就可以了;

 

图片
 

 

图片
 

应用程序发生异常 未知的软件异常

1、木马病毒查杀造成常用病毒捆绑应用程序和系统文件,清理隔离一些不知名的dll动态文件。

2、系统本身应用程序组件丢失,应用程序完整的运行需要一些系统文件或者某些dll文件支持,如果应用程序组件不完整也会导致的。

3、系统文件损坏或丢失,盗版系统或Ghost版本系统,很容易出现该问题。

4、操作系统自身的问题,操作系统本身也会有bug 。

5、硬件问题,例如内存条坏了或者存在质量问题,或者内存条的金手指的灰尘特别多。

应用程序错误解决方法:

1.检查电脑是否存在病毒,查杀清理病毒,不常用的应用软件安装需要关闭杀软和清理软件。

2.系统文件损坏或丢失,建议:使用完整版或正版系统。

3.安装的软件与系统或其它软件发生冲突,找到发生冲突的软件,卸载它。如果更新下载补丁不是该软件的错误补丁,也会引起软件异常,解决办法:卸载该软件,重新下载重新安装试试。顺便检查开机启动项,把没必要启动的启动项禁止开机启动。

Excel批量翻译函数详解

当你拿到一份全英文的Excel时,是不是很想大致的把它翻译过来呢,数据少时一个个人工翻译是没问题的,不过但数据动辄几M时,人工翻译怕是不实际了,所以如果有一个批量翻译的函数,那简直就是神器了,不过真实情况是百度了一下,试了很多种方法都不行…所以小编进来来教教大家一种新方法。如果喜欢,就点个赞再走吧~

Excel翻译函数

 

图片
 

0

首先来看看当前的Excel翻译函数:

Fanyi(text, [from_lanaguage], [to_lanaguage])。已停用。该函数后台调用百度翻译接口

BaiduFanyiByWebBrowser(text, [from_lanaguage], [to_lanaguage])。该函数后台调用百度翻译接口

GoogleTranslate(text, [from_lanaguage], [to_lanaguage]),已停用。该函数后台调用谷歌翻译接口。

BingTranslate(text, [from_lanaguage], [to_lanaguage])。该函数后台调用Bing翻译接口。

参数解释

(参数text指待翻译的文字,

from_language指翻译后的语言种类,

默认翻译成英文en,

to_language指待翻译文字的语言种类,

默认是中文zh)

可以看到,fanyi函数其实已经不能用了哦,不过经过小编的研究,BaiduFanyiByWebBrowser函数还可以用(BingTranslate函数应该也是可以用的,方法应该类似,小编没有试过),但需要特殊的操作方式。接下来我们就来讲讲这个函数的用法,第一次使用较为麻烦,之后没有这么麻烦了。

下载ExcelAPI函数库更新工具

 

图片
 

1

首先登陆网站:

下载ExcelAPI函数库更新工具

 

图片
 

加压后,双击下图第一个文件

 

图片
 

首先点击检查更新,更新完毕后点击执行更新

 

图片
 

启用API加载项

 

图片
 

2

之后打开一个EXCEL文件,,点击【文件】-【选项】-【加载项】-【转到】-勾选第一个-【确定】

 

图片
 

然后可以看到加载项多了个API

 

图片
 

下载Excel浏览器

 

图片
 

3

打开刚才说的网页

下载Excel浏览器

 

图片
 

解压后点击第一个文件夹

 

图片
 

【注】:如果后面初始化数据库时,如果出现如下错误,请安装操作系统补丁vcredist_x86.exe或vcredist_x64.exe

无法加载 DLL“SQLite.Interop.DLL”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)

点击下图ExcelWebBrowser.exe文件

 

图片
 

由于Excel浏览器使用了数据库,且数据库对操作系统有一定限制,所以运行Exce浏览器后,可通过菜单【初始化数据库】判断Excel浏览器是否可正常工作。点击【初始化数据库】、【清除缓存】,如果提示初始化数据库成功,表明Excel浏览器可正常工作。如果不成功请看上面的【注】

 

图片
 

之后回到Excel,点击【加载项】-【ExcelAPI数据库】-【初始化数据库】、【清除缓存数据】

 

图片
 

监测翻译任务

 

图片
 

4

在地址栏中输入百度翻译

点击转到,然后设置好定时器间隔时间,然后点击【开始】

 

图片
 

完成翻译

5

公式:

=BaiduFanyiByWebBrowser(A1,”en”,”zh”)

在Excel写好公式后,按住第一个框的左下角,往下拉,即可完成翻译任务。如出现“加入队列…”或“正在取值…”,则需要等Excel浏览器执行完翻译任务以后,再拉一遍即可。

其实在细节上,这个函数并不好用,有点麻烦,有时还会出现一些问题,不过总的来说还是不错的一种方法,毕竟也没有啥更好的办法了不是吗?

声明:所有白马号原创内容,未经允许禁止任何网站及个人转载、采集等一切非法引用。本站已启用原创保护,有法律保护作用,否则白马号保留一切追究的权利。发布者:白马号,转转请注明出处:https://www.bmhysw.com/article/19627.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
白马号白马号

相关推荐

  • Win10重装系统 Win10在线一键重装电脑系统

    Win10重装系统 Win10在线一键重装电脑系统 为什么需要重装Win10系统? Win10系统重装的方法 重装Win10系统的好处 为什么需要重装Win10系统? 在使用电脑的过程中,难免会遇到各种问题,例如系统运行缓慢、无法安装软件、蓝屏死机等等。这时候,重装Win10系统就是一个解决问题的好方法。 一些常见的原因包括: 系统运行缓慢,无法流畅使用 电…

    2023-09-05
    00
  • Win10开启旧版托盘时钟的方法

    Win10开启旧版托盘时钟的方法 为什么需要开启旧版托盘时钟? 如何开启旧版托盘时钟? 如何切换回新版托盘时钟? 为什么需要开启旧版托盘时钟? Win10系统默认使用的是新版托盘时钟,与旧版相比,新版托盘时钟的显示方式更加简洁,但也存在一些缺点,例如无法显示秒针,无法设置闹钟等。 对于一些对时间精度要求较高或需要使用闹钟的用户来说,旧版托盘时钟可能更加适合他…

    2023-08-02
    00
  • Win10系统怎么调回正常桌面?Win10系统调回正常桌面方法步骤

    Win10系统怎么调回正常桌面? 检查桌面缩放比例 还原桌面图标 更改壁纸设置 清除桌面图标缓存 1. 检查桌面缩放比例 如果桌面图标出现异常,可能是因为缩放比例设置不正确。可以按照以下步骤进行调整: 右键点击桌面空白处,选择“显示设置” 在“显示”选项卡中,找到“缩放与布局” 将缩放比例调整为100% 2. 还原桌面图标 有时桌面图标可能会被误删或移动到其…

    2023-08-29
    00
  • Win10系统msvcr120.dll丢失如何修复?

    Win10系统msvcr120.dll丢失如何修复? 背景 可能的原因 解决方案 结论 背景 在使用Win10操作系统时,有时候会遇到一个问题,即提示“msvcr120.dll丢失”,这会导致某些应用程序无法正常启动或运行。这是一个常见的问题,但是不用担心,因为它通常可以通过一些简单的步骤来解决。 可能的原因 在解决这个问题之前,我们需要了解一些可能导致ms…

    2023-08-25
    00
  • ae和pr的区别学哪个比较实用(软件用途介绍和学习建议)

    PR详解: pr Adobe Premiere是一款由Adobe公司推出的常用的视频编辑软件。现在常用的版本有CS4、CS5、CS6、CC、CC 2014、CC 2015、CC 2017以及CC 2018等。是一款编辑画面质量比较高的软件,兼容性不错,而且还可以与Adobe公司推出的其他软件相互协作使用。目前这款软件广泛应用于广告制作和电视节目制作中。 其最…

    2022-03-17 投稿
    00

联系我们

QQ:183718318

在线咨询: QQ交谈

邮件:183718318@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信