Tag: file io

VBA:查看文件是否打开的两种方法

我有两个方法,我觉得应该告诉一个文件是否打开。 方法1 (错误:下标超出范围): If Not Workbooks(filename) Is Nothing Then Workbooks.Open (filename) End If 方法2 : If Not IsWorkbookOpen(filename) Then Workbooks.Open (filename) End If IsWorkbookOpen()在哪里: Private Function IsWorkbookOpen(wbname) As Boolean Dim wBook As Workbook Set wBook = Nothing On Error Resume Next Set wBook = Workbooks(wbname) If wBook Is Nothing Then IsWorkbookOpen = False Else: IsWorkbookOpen […]

在MVC Web应用程序的共享文件夹上拒绝访问

我有一个MVC Web应用程序,它使用模板.xlt和.rpt生成Excel和PDF报告(使用Crystal),当我将模板放入Web服务器本身时,它会生成没有小故障的报告,但是一旦将模板放置在远程地点,然后我得到一个访问被拒绝的错误,我通过过程监视器发现,下面的屏幕截图 当我从服务器通过资源pipe理器手动浏览远程文件夹,它的一切正常,我可以打开我所需要的文件,只是当它的服务器读取文件时触发访问被拒绝的错误。 我的Web应用程序正在使用Integrated Pipeline中的ApplicationPoolIdentity。 身份validation是通过模拟和Windows身份validation。 甚至令人困惑的是,运行Excel模板的用户是我自己的,但我得到的访问被拒绝,而用于生成PDF的用户是IIS Apppool。 有谁知道如何解决访问被拒绝的问题,我已经尝试把所有用户完全访问该文件夹,但仍然无法正常工作。 附加信息 我正在使用IIS 7.5,我也检查了共享的文件服务器,在用户注册的事件日志不是我,但有以下细节 An account was successfully logged on. Subject: Security ID: NULL SID Account Name: – Account Domain: – Logon ID: 0x0 Logon Type: 3 New Logon: Security ID: ANONYMOUS LOGON Account Name: ANONYMOUS LOGON Account Domain: NT AUTHORITY Logon ID: 0x90eb7c7 Logon GUID: {00000000-0000-0000-0000-000000000000} […]

在Excel VBA中重命名文件

我在SF论坛上find了下面的Dos批处理脚本在Dosbatch file中重命名多个文件 ,它的工作原理与devise完全一样:) 我的问题是,我从一个Excel VBA脚本和 我必须在VBA中build立一个延迟EG消息框,否则VBA脚本执行的速度比DOS脚本更快地重命名我需要的文件,导致没有find文件(它随时随地完成,因为我需要它们)。 excel工作簿将打开一个名为1到800的表格。如果我想要打开文件14.csv(根据表名称),dos脚本将不会有什么帮助,因为它会按顺序重命名文件,所以1,2 ,3,4,5而不是1,2,3,4,14(或按要求)。 更好的描述可能是: 我打开一个自动分配一个数字的表格(在本例中为表格14) – 然后触发一个vba脚本来find一个在目录中具有特定开始的文件,例如“keyw * .csv”,并将其重命名为Eg“14。 csv“,然后将其导入到其表单中。 在重命名之前,只有一个这样的文件在目录中出现“keyw * .csv”。 基本上就像我看到的那样,我只能在DOSbatch file中select不同的function,甚至更好,基于VBAmacros中的“MoveFile”,但是当我在VBA中尝试“MoveFile”时,不承认“*”。 每次我下载一个文件,它以“keywords_blahbla”开头,所以我需要使用通配符来find它,以便重命名它。 显然,我可以很容易地打开目录并点击文件,但我真的想自动化整个过程,所以你可以指导我在正确的方向 谢谢 这是我使用的DOS批处理: REM DOS文件 echo cd \ cd c:\ keywords \ SOMETHING \ SETLOCAL ENABLEDELAYEDEXPANSION SET count=3 FOR %%F IN (c:\keywords\SOMETHING\*.csv) DO MOVE "%%~fF" "%%~dpF!count!.csv" & SET /a count=!count!+1 ENDLOCAL 这是关联的VBA脚本: Dim vardirfull […]

如何输出词典列表到excel工作表?

我有一个名为“玩家”的名单,由词典组成。 它看起来像这样: players = [{'dailyWinners': 3, 'dailyFreePlayed': 2, 'user': 'Player1', 'bank': 0.06}, {'dailyWinners': 3, 'dailyFreePlayed': 2, 'user': 'Player2', 'bank': 4.0}, {'dailyWinners': 1, 'dailyFree': 2, 'user': 'Player3', 'bank': 3.1}, {'dailyWinners': 3, 'dailyFree': 2, 'user': 'Player4', 'bank': 0.32}] 时间更长,但这是一个节选。 如何将这个词典列表输出到excel文件中,以便按键/值整齐排列? 非常感谢!

在MATLAB中使用xlsread来读取数字和string数据

我在Excel中有一大列数据,我想读入一个string单元格数组。 然而,一些条目是数字,其余的是string。 所以我有类似的东西 288537 288537 312857 589889 589889 1019503 1019503 1098802 1098802 abc efg hij 1992724 第一行是标题行,所以我们忽略它。 当我使用 [~, ID] = xlsread('data.xlsx', 'A2:A125581') ID只包含string条目,而不包含数字条目。 我怎样才能得到xlsread作为string对待数字,所以我可以读取所有的string?

Excel工作簿导入错误

我正在做一个危险的应用程序的一些练习,我很难理解为什么我得到这个错误。 我已经缩小到我认为这个问题是,但现在,这是我的代码… if (questionPath != "") { Excel.Application myapp = new Excel.Application(); Excel.Workbook wb = myapp.Workbooks.Open(questionPath); Excel.Worksheet sheet = (Excel.Worksheet)wb.Worksheets.get_Item(1); var cell = (Excel.Range)sheet.Cells[1, 1]; MessageBox.Show(cell.Value); } 基本上,build立一个新的Excel,拉入工作簿,得到第一张表,然后看看我告诉它看到的任何细胞,并显示值(就像我说的,只是testing/玩耍)。 但是,如果单元格A1中的值是一个整数,则会出现“RuntimeBinderException was unhandled”错误。 它说 "An unhandled exception of type 'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException' occurred in System.Core.dll Additional information: The best overloaded method match for 'System.Windows.Forms.MessageBox.Show(string)' has some invalid arguments" 但是,如果该值是一个STRING,那么它工作正常。 […]

代码循环遍历文件夹VB中的所有工作簿

我有一些Excel(.xls)存储在本地驱动器的文件夹中。 我需要对该文件夹中的每个文件执行一些操作。 什么是代码将 遍历每个文件 打开文件 做一些处理,然后保存并closures文件 处理后将文件移动到另一个文件夹 为了更清楚一点,我想查看每个文件并对其进行处理。 完成文件后,转到另一个文件,直到文件夹中的所有文件结束。 我确实有处理的代码; 我只需要知道将通过文件循环,然后移动到另一个文件夹的代码。 感谢您的帮助,

将所有Excel工作簿保存在Outlook附件到另一个位置

我正在一个Excel VBA的macros应该只复制从Outlook的Excel文件到不同的位置 我有以下代码 Sub Test(itm As Outlook.MailItem) Dim objAtt As Outlook.Attachment Dim saveFolder As String saveFolder = "C:\APIndex" Dim dateFormat As String dateFormat = Format(itm.ReceivedTime, "yyyy-mm-dd Hmm ") For Each objAtt In itm.Attachments objAtt.SaveAsFile saveFolder & "\" & dateFormat & objAtt.DisplayName Next End Sub 使用上面的代码,我可以下载所有的文件,包括一些图像和PDF文件,但我只想要.xls和.xlsx文件。 有没有一个好方法可以做到这一点?

将复杂的excel或csv文件读入matlab

我有一个Excel文件,这是一个文本文件和数值的混合。 例如,这个文件看起来像这样, 25 file1 26 file2 这里的25是第一个单元格(第1行,第1列)中的数值。 “file1”表示第二个单元格(row1,column2)中的内容。 它可以是由多个段落组成的短文本文件。 我想加载这个excel文件到MATLAB中,并将其存储到2 * 2matrix。 每个matrix条目对应于一个matrix单元格。 我试过xlsread ,但没有奏效。 我也试过textscan ,但它似乎能够处理单元格只有一个string的情况。 这里,一些单元格的内容本身就是文本文件。

在MATLAB中慢速xlsread

这里是我的MATLAB程序仿真运行的结果。 我需要运行这个模拟数十万次 (〜100,000次)。 因此,我需要一个更快的方式来读取Excel文件。 规格:Excel文件是10000×2单元格,每个模拟运行是从5个独立的Excel文件中读取一个这样的表格。 更新:我把xlsread放在基本模式下,并通过将我的input合并到一个文件中来减less调用次数。 下一个目标是xlswrite现在。 啊,那种下沉的感觉。 :| 注意:尽pipe使用dlmread写入CSV文件速度非常快(大约20次),但我需要使用.xls文件提供的单独表格。