我试图打开一个特定文件夹中的所有MS文件,以提取每个文件的一些信息,并传输到excel。
Sub OpenProjectFiles()
Dim myMpp As MSProject.Application
Dim FileNameMpp As String, Folder As String
Folder = "C:\Users\nikolasqueiroz\Desktop\VBA Test"
Set myMpp = CreateObject("Msproject.Application")
FileNameMpp = Dir(Folder & &
需要循环遍历多个文件夹(同一目录中的3个文件夹)并合并这些多个文件夹中的所有文件。
下面的代码从一个文件夹(A)合并所有文件。我需要合并来自三个不同文件夹的所有文件: A、B和C。
我的问题是:如何添加一个循环来合并其余两个文件夹中的文件
这是excel代码:
Sub Merge()
With Worksheets("Sheet2")
Dim bookList As Workbook
Dim MergeObj As Object, dirObj As Object, filesObj As Object, everyObj As Object
Dim sCURFolderPat
我已经创建了一个excel代码,它的目的是从文件名中获取信息并将其导出到Excel中。代码除了跳过第一个文件名外,还能找到其他文件。这是我第一次用VBA编写代码,所以如果能提供任何帮助,我们将不胜感激。提前感谢!
以下是代码:
Sub Get_Model_File_Names()
Dim xRow As Long
Dim xDirect, xFname
'DIRECTORY TO SELECT FOLDER FROM
With Application.FileDialog(msoFileDialogFolderPicker)
.Titl
我和macOS·塞拉一起工作。
我有~ 1000+目录,里面有很多文件。Word,Excel和压缩文档。只有一个次级级别。重要事项:文件名和文件夹名称中都有空格。
我们决定更改文件的树状;在与另一个目录树合并之前,每个目录中的所有文件都需要移动到其中名为"Word & Excel“的子目录中。
我使用以下命令创建了Word & Excel目录:
for dir in */; do mkdir -- "$dir/Word & Excel"; done
基本上,我只是想
for dir in */; do mv $dir/* "./Word
每个月,我都会发送大约2300封单独的电子邮件,其中只有一个Excel文件作为附件。 是否可以从特定位置仅导入一个Excel文件(在该位置将有多个Excel文件),然后在发送电子邮件后,Outlook打开新的电子邮件并附加下一个Excel文件。 下面是到目前为止编写的VBA代码,但Outlook从该位置导入所有文件。 Sub Outlook_Project()
Dim origEmail As Object
Dim newEmail As MailItem
Dim MyPath As String
Set origEmail = CreateObject("Outlook.App
Sub ReplaceEntireHdr()
Dim wrd As Word.Application
Set wrd = CreateObject("word.application")
wrd.Visible = True
AppActivate wrd.Name
'Change the directory to YOUR folder's path
fName = Dir("C:\Users\user1\Desktop\A\*.doc")
Do While (fName &
我正在尝试打开多个Excel文件,和向每个单元格添加相同名称的新单元格。它们位于一个名为workbook1、workbook2等的文件夹./桌面/excel中。
我已经尝试过了,但是我得到了一个运行时错误76‘路径未找到’。
我是VBA的超级新手,任何帮助都是非常感谢的!这是我正在运行的脚本:
Sub LoopThroughFolder()
Dim MyFile As String, Str As String, MyDir As String, Wb As Workbook
Dim Rws As Long, Rng As Range
Set Wb = ThisWorkbook
&
我确实有几百个excel文件。每个excel文件都在"workbooks_open“方法中包含一个makro。我想打开所有这些文件,注释掉代码,保存和关闭文件。
循环遍历所有打开/关闭的文件并不是一个问题,但是随着vba代码的改变,我不知道。
事先非常感谢!
Sub test()
Dim Path as string = "C:\123\"
Dim cDir As String
cDir = Dir(Path & "*.xlsx")
Do While cDir <> ""
Applicati
我必须从Excel列表开始搜索和复制文件夹中的许多文件,如下所示:
8100
8152
8153
在该文件夹中,有一些文件的名称如下:
8100.pdf
100_8152.pdf
102_8153.pdf
8153 (2).pdf
如何在不重命名所有文件的情况下搜索这些文件?感谢user3598756,这是我现在用来在excel列表和文件夹中搜索同名文件的代码:
Option Explicit
Sub cerca()
Dim T As Variant
Dim D As Variant
T = VBA.Format(VBA.Time, "hh.mm.ss")
D = VBA.
我有一个问题,在For循环中,我的Do While循环只执行一次。我努力做到以下几点:
我有一堆excel文件(*.xlsm),位于同一个文件夹中,其中包含了一些员工的数据,我想遍历每个文件并得到一个特定的数字。到目前一切尚好。当我想“更改”员工的名字时,问题就变成了。
考虑到以下代码:
Set FldrPicker = Application.FileDialog(msoFileDialogFolderPicker)
With FldrPicker
.Title = "Select A Target Folder"
.AllowMultiSelect = F
很抱歉,如果这已经发布了-我找不到一个特定于Excel (也是因为我的糟糕的代码,我缺乏经验的VBA)。我试图将多个文件整理到一个工作簿中,在不同的工作表下。它大部分都在工作,但是在If Else语句中,如果满足了条件,循环就会中断,而不是继续处理文件夹中的其余文件。其他部分是循环的。我认为Do While filename <> ""会覆盖if/ that语句。
它不适用于我只是添加“和循环”(猜测这是无效的代码),所以我不知道我应该添加什么,或者我是否应该绕开这条路。
谢谢你的帮助!
Sub AllFiles()
Dim folderPath As St
我有一个EXCEL VBA 'export‘应用程序,它使用DIR来验证EXP_PDF.dll文件的存在。函数返回文件,但文件实际上位于与DIR路径指向的(我认为)不同的目录中。我构建了以下简单的子程序来进行测试:
Sub RetrieveFile()
Dim Shex As Object
Set Shex = CreateObject("Shell.Application")
file = Dir(Environ("commonprogramfiles") & "\Microsoft Shared\OFFICE" &
我有两个函数。第一个循环遍历excel中的范围,第二个循环根据您提供的搜索字符串查找文件,并将其传递回第一个。
第二个函数的工作方式是在搜索字符串上找到第一个匹配项时退出该函数。但是,它只在第一次通过函数运行时退出,而不是在任何后续运行中退出。相反,它跳转到Next i。
我已经一步一步地使用了F8,我可以看到它命中了Exit Function,但它仍然继续运行函数。
我做错了什么?
功能1:
Function GrabQuestionnaireLocations()
Dim a As Range, b As Range, N As Long, qPath As String
我在excel工作表中用VBA编写了一些代码,它将文本文件转换为excel工作表,并对数据执行一些验证,以过滤正确的数据和错误数据,并将其分离为正确的文本文件和错误文本文件。打开excel时会运行整个逻辑。打开此excel的逻辑是在我的.net应用程序中用c#编写的。
守则是:
FileInfo fi = new FileInfo("C:\automate_load.xlsm");
if (fi.Exists)
{
Excel.Application excelapp = new Excel.Application();
excelapp.Visible =
我是VBA的新手,所以我在excel列中有一个文档列表(扩展名为.pdf、.docx等)。我想要做的是复制列表中的所有文档,从源文件夹复制到目标文件夹。
我已经尝试了一些代码,但代码复制了文件夹中的所有文件,而不是列表中的文件(文档列表仅在B3:B10中)。
任何帮助都很感激。
提前谢谢。
Sub copyfile()
Dim r As Range
Dim Jajal As Range
Dim sourcePath As String, DestPath As String, FName As String
sourcePath = "C:\Users\"
DestPath
在以下代码的帮助下,我正尝试在PowerPoint2010中使用VBA打开Excel文件。
Private Sub CommandButton1_Click()
Dim xlApp As Excel.Application
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
xlApp.Workbooks.Open "C:\lol\Book1.xlsx", True, False
Set xlApp = Nothing
Range("A8").Value =
我有一个Word文档,其中包含两个嵌入的Excel文件(使用Insert -> Object -> Create From File添加),我希望使用Word VBA对其进行修改。我已经能够打开嵌入的文件进行编辑(请参见下面的代码),但无法获得Excel工作簿的句柄,使用该工作簿可以进行修改并保存嵌入的文件。有人有解决这个问题的办法吗?提前谢谢。
Sub TestMacro()
Dim lNumShapes As Long
Dim lShapeCnt As Long
Dim xlApp As Object
Dim wrdActDoc As Docu
因此,我正在用VBA编写一段代码,用于打开文档中的所有文件,并复制和粘贴每个文档中的信息。代码被设置为打开除自身之外的所有文档。我的两难境地是,我希望代码在主文件被修改的最后一天之后打开任何被修改的文档。基本上,我希望比较两个日期,其中一个日期保持不变,而另一个日期在每次循环后更改(每次循环都有新文档)。我的代码如下,任何帮助或建议都将非常感谢。谢谢!
Sub LoopThroughDirectory()
Dim MyFile As String
Dim erow
Dim Filepath As String
Dim DateMaster As Date
Dim DateReflections
请容忍我,因为我是一个初学者在VBA。
我试图打开一个excel文件通过一个网站使用VBA。文件的地址(路径)按月变化。例如:
在7月,文件名为:
在8月,文件名为:
问题是我从来不知道这个月的新文件什么时候会发布。因此,如果当前的月份文件存在,我需要签入VBA代码,如果不存在,我将只打开前一个月的文件。
这就是我尝试过的:
Dim DirFile As String
Dim wbA As Workbook
DirFile = "http://www.clevelandfed.org/research/data/inflation_expectations/"
我想导入所有Excel文件(具有不同的数据和列)从一些目录到MS Access 2010数据库,为每个文件创建新的表。我找到了将文件导入到一个表中的代码:
Option Compare Database
Option Explicit
Function DoImport()
Dim strPathFile As String, strFile As String, strPath As String
Dim strTable As String
Dim blnHasFieldNames As Boolean
' Change this next line to True
我们有一个模型,它生成CSV格式的每日结果,并将这些文件保存在一个新的文件夹中。csv文件始终具有相同的名称,只是子文件夹名称发生了变化(文件夹名称的一部分包含日期)。 我想创建一个vba脚本,它将搜索最新的csv文件的所有子文件夹,复制它的数据,并将此数据粘贴到excel文件中(覆盖前几天的数据)。 我希望在这个基础上构建一些东西: 'Sub OpenLatestFile()
'Declare the variables
Dim MyPath As String
Dim MyFile As String
Dim LatestFile As String
Dim Lates
我正在创建一个代码,该代码打开并导入基于客户端名称选择的文件中的数据。每次打开客户端时,都会为他们保存一个文件,并注明他们的姓名和出生日期(没有斜杠)。
一个示例文件将类似于C:\Data\Clients\John Doe 01011900.xlsx。单击按钮上的InputBox提供了客户端的名称,但是如果文件夹中有2个或更多的John,我就会被困在上面。
Check = Application.InputBox(prompt:="What is your client's first and last name?", Type:=2)
FilePath = "
我正在与一个必须识别excel文件中某些变量的人合作。目前,和我一起工作的人有很多文件夹和子文件夹,其中有Excel文档。他使用一个VBA代码,该代码在文件夹中查找子文件夹,然后返回路径,然后创建到子文件夹的超链接(这不是下面的VBA代码的一部分),并查看所有excel文件,不管主文件夹中的子文件夹的级别如何。
下面是代码:
Sub GetFolders()
Dim path As String
Dim folder As String
Dim row As Integer
path = "your directory here"
folder = Dir(path
我有一个COM自动化服务器,由VB6 exe托管。
COM API来自Excel 。
Dim o as MyCOMAPI.MyCOMType
Set o = new MyCOMAPI.MyCOMType
o.DoSomething
当我在VBA中创建对象时,会启动exe和COM自动化,并且VBA可以使用API。
但是exe被Excel快速地“随机”关闭,我猜当Excel决定不再需要COM时。
这种行为造成了随机错误。
简单的解决方案是在运行VBA代码之前启动exe;在这种情况下,所有的执行程序都正常工作,因为在用户关闭之前,exe不会停止运行。
您有一些关于Excel如何管理对托管API的调用
我试图做一个简单的动作(例如,将",“改为”“)。将多个excel文件同时放入一个文件夹。同样的问题也已经在这里解决了。但这个解决方案在我的情况下行不通:
Sub LoopThroughFiles()
Dim FolderPath As String, FileName As String
FolderPath = "C:\my_folder\"
FileName = Dir(FolderPath & "*.xlsx")
While (file <> "")
Workbooks.Open(