【韦德国际1946】运维时自动张开文件,风姿浪漫

作者: 韦德国际1946  发布:2019-12-03

1. 问题

try
{
fs = new StreamReader(new FileStream(path, FileMode.Open, FileAccess.Read卡塔尔(قطر‎, Encoding.GetEncoding("gb2312"卡塔尔卡塔尔国;//平常读取文件,假如被excel程序独自据有的话,那时会抛出十三分
}
catch(Exception e)
{
//抛出特别后,那么就足以拷贝此文件到临时文件夹下生成的叁个即兴文件中,然后读取此临时文件就能够
【韦德国际1946】运维时自动张开文件,风姿浪漫键打开文件。string tempFile = Path.GetTempPath() Path.GetRandomFileName();
File.Copy(path, tempFile);
fs = new StreamReader(new FileStream(tempFile, FileMode.Open, FileAccess.Read), Encoding.GetEncoding("gb2312"));
}

小编们在工作中会使用种种文件,为了分类管理,大家创立了过多文件夹,在开发相应文件的时候,要求各样打开文件路径找到文件,然后展开,上边介绍一个大器晚成键就足以张开文件的好措施。想要大器晚成键张开,大家先供给一个文本的路径。在win7系统中,文件的路子已经不复用古板的措施来代表路线,那么如何得到文件的门路呢?上边介绍四个措施。

来源:IT部落窝  作者:IT部落窝

当在console中调用API ShellExecuteEx展开"test.iqy"文件时,发掘excel会hang住,console退出后excel才会响应,但一向双击"test.iqy"是不曾难题的,风趣的是其黄金年代情况唯有在xp发生,在win7上尚未这么些难点。

1、张开文件夹,找到文件,我们来看的文本路线是如此的,而不是用反斜杠字符来代表的。

内容提要:正文介绍excel运转时自动展开文件的三种方法。

 

韦德国际1946 1

咱俩天天使用EXCEL软件,总有风度翩翩七个常用文件,其实大家得以开展有关设置,让excel运行时,自动为我们张开要求的文书档案,而毋庸大家去手动操作。

2. 复发步骤

2、用鼠标左键点击须求安装的文本,按下shift,然后右键,接收复制为路线。注意应当要按下shift键。

先是种excel运行时自动张开文件的艺术:

再次出现碰着:XP sp3 / Office 2005(别的office版本应该也得以,未有测量检验)

韦德国际1946 2

先是,找到要求随EXCEL运行的XLS文件,右击后选择“创造连忙形式”,在时下文件夹下成立XLS文件的快捷形式。然后右击该快速情势,选拔“剪切”。

3、依照这么些主意,我们得以获取贰个门道列表,粘贴在excel里。当然你也得以火速接纳,批量复制:先用鼠标左键点击第叁个文件,然后按下shift点击最终贰个,那样就满门中选文件,按住shift不松劲,右键选取复制为路径,再粘贴在Excel里,那是批量复制的不二秘技。

第二,打开C:Program FilesMicrosoft OfficeOffice11XLStart文件夹(C代表系统中OFFICE软件安装的分区盘符,默感到C盘卡塔尔,将刚刚成立的XLS文件快捷情势“粘贴”到XLStart文件夹下。

1> 解压iqy_test.zip

韦德国际1946 3

我们再张开运营EXCEL软件,刚才创造火速情势的XLS文件也随excel运营自动展开了。

2> 运行http_server.py(需先安装python)

4生机勃勃旦想批量到手文件夹中的文件,还应该有二个函数能够兑现,便是Excel宏表函数FILES,这几个函数只可以在概念名称当中使用。关于这一个函数的用法,能够在百度找到,再此不再赘言。作者写了叁个数组公式,能够一贯领取文件名,并屏蔽错误值。具体看演示。

手艺唤起:(1卡塔尔国假若您要同期展开七个XLS文件,只需将欲展开的XLS文件的急迅情势都粘贴到XLStart文件夹下,就能够何况开荒八个XLS文件。

3> 执行"shell_execute.exe test.iqy"

韦德国际1946 4

(2卡塔尔要是把XLS文件直接剪切到这里,也能够高达文件自动随EXCEL运转而开采的目标。但风姿浪漫旦系统盘现身难点文件就不料定能找到了,所以我们把连忙方式剪切过来就不会现身这么的标题。

shell_execute.exe的主要code:

5、路线提取到专业表未来,我们用三个函数的嵌套,来贯彻大器晚成键张开文件,个中HYPERubiconLINK函数用来创设链接,mid函数提取文件名,作为HYPE奥迪Q5LINK函数的第三个参数。

第三种excel运维时自动展开文件的法子:

bool shell_execute_file(wstring file_path)
{
    SHELLEXECUTEINFOW shell_exec_info = { 0 };
    shell_exec_info.cbSize = sizeof(SHELLEXECUTEINFOW);
    shell_exec_info.fMask = SEE_MASK_NOCLOSEPROCESS | SEE_MASK_FLAG_NO_UI;
    shell_exec_info.hwnd = NULL;
    shell_exec_info.lpVerb = NULL;
    shell_exec_info.lpFile = file_path.c_str();
    shell_exec_info.lpParameters = NULL;
    shell_exec_info.lpDirectory = NULL;
    shell_exec_info.nShow = SW_SHOW;
    shell_exec_info.hInstApp = NULL;
    bool ret = ShellExecuteExW(&shell_exec_info);
    printf("process handle is %pn", shell_exec_info.hProcess);

    return ret;
}

韦德国际1946 5

先是,将索要随excel运转时自动展开的文件贮存在四个文本夹。

 

依据这样的不二等秘书技,我们得以方便神速的保管电脑中的文书档案,只要展开四个Excel职业簿,就足以黄金年代键展开,进而升高级技术员作效用。

其次,单击菜单“工具/选项”,填写“常规”选项卡中的“运营时张开此项中的全部文件”。

3. 缘由解析

我们再一次运维EXCEL,文件就随运转自动张开了。

3.1 excel hang在哪里?

有了以上的主意,QQ群中一位网民的主题材料就好解除了。

3.1.1 用windbg附加到excel上,输入如下命令查看主线程hang住的地点

网民问:在运转Excel时,发掘一而再自动展开三个文件并造成运转速度慢了过多。请问怎样本事消除此主题材料?

本文由韦德国际1946发布于韦德国际1946,转载请注明出处:【韦德国际1946】运维时自动张开文件,风姿浪漫

关键词: C#相关 Excel心得 Excel/Word/P

上一篇:Window一些飞快键,键盘神速键
下一篇:没有了