精华内容
下载资源
问答
  • 具体操作为: 1.EXCEL打开TXT文本; 2.选择分隔符什么的(已经录制操作);...3.另存为同名EXCEL文件关闭; 4.执行一系列操作后(已经录制); 5.保存excel关闭; 6.再打开下一个txt,重复操作~~~~~
  • '这个代码就是进行二次后处理并生成建立新的excel Dim str As String '这个vba代码是后处理的代码,加载阶段未接触上进行修正 Dim wb As Workbook str = Dir("C:\Users\DELL\Desktop\保存\*.*") ' ActiveWindow....

    '因为自己昨天想不通,在路上想了一会儿,今天过来一会儿就想明白了,看来做事还是讲效率比较好,磨时间没意义

    Sub dakaiguanbi()
    '这个代码就是进行二次后处理并生成建立新的excel
     Dim str As String
     '这个vba代码是后处理的代码,加载阶段未接触上进行修正
      Dim wb As Workbook
      str = Dir("C:\Users\DELL\Desktop\保存\*.*")
      

     ' ActiveWindow.WindowState = xlNormal
      
      Dim xunhuan As Integer

       For xunhuan = 1 To 3
      
         Workbooks.Open Filename:= _
            "C:\Users\DELL\Desktop\保存\" & str
      Windows("" & str & "").Activate
      '新建或者打开二次后处理文件
      Application.DisplayAlerts = False
                  If IsFileExists("C:\Users\DELL\Desktop\二次后处理\" & str & "二次后处理" & ".xlsx") = False Then '避免重复生成
                Workbooks.Add
                      ActiveWorkbook.SaveAs Filename:="C:\Users\DELL\Desktop\二次后处理\" & str & "二次后处理" & ".xlsx", FileFormat:= _
                          xlOpenXMLWorkbook, CreateBackup:=False
                Else
                     Workbooks.Open ("C:\Users\DELL\Desktop\二次后处理\" & str & "二次后处理" & ".xlsx")
                     Application.WindowState = xlMaximized
                '    Set wbs = Workbooks.Open("C:\Users\周伟\Desktop\" & weiya & "kpa-" & zhoubian & "%" & date1 & ".xlsx")
                End If
        Application.DisplayAlerts = True
        
        
         Application.DisplayAlerts = False
        ActiveWorkbook.Save
        ActiveWindow.Close
        'Workbooks(name1).Close
        
        Windows("" & str & "").Close
        Application.DisplayAlerts = True

        str = Dir
     If str = "" Then
       Exit For
       End If
       Next
        

    End Sub
    ‘20201127-9:45

    展开全文
  • 谢谢寻欢,原来核心就是GETOBJECT,特帖帮助内容,与大家分享:GetObject ...它使用工作表的 Application 属性来显示或关闭 Microsoft Excel 等等。DetectExcel Sub 过程通过调用两个 API 函数,来查找 Microsoft ...

    谢谢寻欢,原来核心就是GETOBJECT,特帖帮助内容,与大家分享:

    GetObject 函数示例

    该示例使用 GetObject 函数来获取对指定的 Microsoft Excel 的工作表 (MyXL) 的引用。它使用工作表的 Application 属性来显示或关闭 Microsoft Excel 等等。DetectExcel Sub 过程通过调用两个 API 函数,来查找 Microsoft Excel。如果 Microsoft Excel 正在运行,则将其放入运行对象表(Running Object Table)中。如果 Microsoft Excel 不在运行,则第一次调用 GetObject 将导致错误。在本例中,出现该错误则把 ExcelWasNotRunning 标志设为 True。第二次调用 GetObject 是指定要打开的一个文件。如果 Microsoft Excel 不在运行,则这个第二次的调用将启动该程序,并返回一个指定文件 (mytest.xls) 所对应的工作表的引用。该文件必须位于指定的位置;否则将产生 Visual Basic 错误及自动化错误。随后的示例代码将 Microsoft Excel 及包含指定工作表的窗口设为可见。最后,如果在此前没有 Microsoft Excel 的副本在运行,代码就使用 Application 对象的 Quit 方法来关闭 Microsoft Excel。如果该应用程序原来就在运行,则不要试图关闭它。引用本身在设为 Nothing 后被释放。

    '声明必要的 API 例程:

    Declare Function FindWindow Lib "user32" Alias _

    "FindWindowA" (ByVal lpClassName as String, _

    ByVal lpWindowName As Long) As Long

    Declare Function SendMessage Lib "user32" Alias _

    "SendMessageA" (ByVal hWnd as Long,ByVal wMsg as Long _

    ByVal wParam as Long, _

    ByVal lParam As Long) As Long

    Sub GetExcel()

    Dim MyXL As Object    '用于存放

    'Microsoft Excel 引用的变量。

    Dim ExcelWasNotRunning As Boolean    '用于最后释放的标记。

    '测试 Microsoft Excel 的副本是否在运行。

    On Error Resume Next    '延迟错误捕获。

    '不带第一个参数调用 Getobject 函数将

    '返回对该应用程序的实例的引用。

    '如果该应用程序不在运行,则会产生错误。

    Set MyXL = Getobject(, "Excel.Application")

    If Err.Number <> 0 Then ExcelWasNotRunning = True

    Err.Clear    '如果发生错误则要清除 Err 对象。

    '检测 Microsoft Excel。如果 Microsoft Excel 在运行,

    '则将其加入运行对象表。

    DetectExcel

    '将对象变量设为对要看的文件的引用。

    Set MyXL = Getobject("c:\vb4\MYTEST.XLS")

    '设置其 Application 属性,显示 Microsoft Excel。

    '然后使用 MyXL 对象引用的 Windows 集合

    '显示包含该文件的实际窗口。

    MyXL.Application.Visible = True

    MyXL.Parent.Windows(1).Visible = True

    '在此处对文件

    '进行操作。

    ' ...

    '如果在启动时,Microsoft Excel 的这份副本不在运行中,

    '则使用 Application 属性的 Quit 方法来关闭它。

    '注意,当试图退出 Microsoft Excel 时,

    '标题栏会闪烁,并显示一条消息

    '询问是否保存所加载的文件。

    If ExcelWasNotRunning = True Then

    MyXL.Application.Quit

    End IF

    Set MyXL = Nothing    '释放对该应用程序

    '和电子数据表的引用。

    End Sub

    Sub DetectExcel()

    '该过程检测并登记正在运行的 Excel。

    Const WM_USER = 1024

    Dim hWnd As Long

    '如果 Excel 在运行,则该 API 调用将返回其句柄。

    hWnd = FindWindow("XLMAIN", 0)

    If hWnd = 0 Then    '0 表示没有 Excel 在运行。

    Exit Sub

    Else

    'Excel 在运行,因此可以使用 SendMessage API

    '函数将其放入运行对象表。

    SendMessage hWnd, WM_USER + 18, 0, 0

    End If

    End Sub

    展开全文
  • 1 → 实现标准的“打开”对话框,并获取用户文件名,而不必真正打开任何文件。获取文件的FullName 表达式.GetOpenFilename(FileFilter,FilterIndex,Title, ButtonText, MultiSelect) FileFilter:...

    来源:http://blog.csdn.net/alexbnlee/article/details/6924207

     1 → 实现标准的“打开”对话框,并获取用户文件名,而不必真正打开任何文件。获取文件的FullName
    表达式.GetOpenFilename(FileFilter,FilterIndex,Title, ButtonText, MultiSelect)
    FileFilter:过滤文件Title:标题MultiSelect:可以多选

    Sub Stop1()
        Dim fileInformation As String
        Dim fi As Workbook
        fileInformation = Application.GetOpenFilename( _
        filefilter:="Excel 工作簿(*.xlsx),*.xlsx", _
        Title:="打开Excel文件")
        MsgBox fileInformation
        Shell "C:\Program Files\Microsoft Office\Office14\excel.exe " & fileInformation, vbMaximizedFocus
    End Sub

    Application.GetOpenFilenameStab Me!!!

     2 Shell函数

    执行一个可执行文件,返回一个 Variant (Double),如果成功的话,代表这个程序的任务 ID,若不成功,则会返回 0。

    语法
    Shell(pathname[,windowstyle])

    Shell "C:\WINDOWS\system32\calc.EXE", 1    ' 完成Calculator。

    也可以这样:

    Sub djfkl()
        Dim RetVal
        RetVal = Shell("C:\WINDOWS\system32\calc.EXE", 1)    ' 完成Calculator。
    End Sub

    Shell 函数Stab Me!!!

     3 → 打开文本文件参考:http://infos.edulife.com.cn/200503/2005038517.html

     4 → 用Shell 函数打开非可执行文件的方法

    方法:Shell "App.PathFile.Path", vbMaximizedFocus
    其中地址分成三部分,第一部分是可执行程序的位置,第二部分是一个空格,第三部分是需要打开文件的路径

    Shell "C:\Program Files\Microsoft Office\Office14\excel.exe " & fileInformation, vbMaximizedFocus

    就是打开Excel文件的方法~

    Dim filePath As String
    filePath = Application.GetOpenFilename("Excel(*.xlsx), *.xlsx", 1, "Open Excel")
    If Len(filePath) > 5 Then
        Shell "C:\Program Files\Microsoft Office\Office14\excel.exe " & filePath, vbMaximizedFocus
    Else
        MsgBox "Sorry!!!"
    End If

     5 → 增加Workbook

    Workbook.Add      '增加工作簿

    Workbooks.Open Filename:=ThisWorkbook.Path & "\工作簿 - " & i & ".xlsx"

    打开指定位置的文件

     6 → 关闭Workbook

    ActiveWorkbook.Close SaveChanges:=True, Filename:=ThisWorkbook.Path & "\工作簿1"

    第一个参数表示保存改变,第二个参数表示工作簿名称,同时可以加入路径

    Sub addSheet()
        For i = 1 To 10
            Workbooks.Add
            For j = 1 To 10
                Cells(j, 1) = j
            Next
            ActiveWorkbook.Close savechanges:=True, Filename:=ThisWorkbook.Path & "\工作簿 - " & i
        Next
    End Sub

             

    窗口最大化

    Application.WindowState = xlMaximized

    窗口最小化

    窗口正常化



    转载于:https://www.cnblogs.com/alex-bn-lee/archive/2011/11/01/2723318.html

    展开全文
  • 我正在Linux上运行一些产生某些CSV的任务 ....以下是我尝试的内容:我编写了一个VBScript,它接收CSV文件和其他所需的输入文件,打开excel文件,将CSV复制到excel中,运行一些VBA宏,然后保存并关闭结果 . 在Wi...

    我正在Linux上运行一些产生某些CSV的任务 . 一旦它们生成,我需要将它们复制到excel文件的不同表中,然后运行一些VBA宏来生成报告 . 由于这必须每天多次完成(没有预先定义/固定的时间表),我想自动化它 .

    以下是我尝试的内容:我编写了一个VBScript,它接收CSV文件和其他所需的输入文件,打开excel文件,将CSV复制到excel中,运行一些VBA宏,然后保存并关闭结果 . 在Windows服务器上本地触发时,此VBScript工作正常 .

    我上传了一个更简单的文件版本here,这有点澄清了我的要求(注意我需要运行的宏比这里的宏要复杂得多(~500行)) . 存档中有四个文件:

    Template.xlsm:要将数据粘贴到的报告的Excel模板

    Input_Sheet2.csv:要粘贴到模板中的输入数据到表2中

    Input_Sheet3.csv:要粘贴到模板中的输入数据到表3中

    Run.vbs:触发Excel模板中存在的“复制 - 粘贴”宏的vbscript .

    运行VBScript的命令是:'cscript // Nologo Run.vbs / NoCancel'

    现在,为了自动完成整个任务,我想通过ssh从Linux远程触发这个VBScript . 我在windows框中安装了cygwin ssh守护进程,并促进了Linux机器的ssh连接 . 这个来自Linux的cygwin ssh连接允许运行多个Windows命令,但无法运行VBScript并且不会产生任何excel输出 .

    我无法弄清楚哪个组件有局限性 . 是不是cygwin ssh不能促进VBScript的执行?是VBScript无法远程创建文件吗?是不是Linux上的ssh客户端不允许在GUI格式中打开excel?或者还有另一种从Linux自动执行此任务的方法 .

    谢谢,

    Shubham

    展开全文
  • Excel VBA - 文件打开关闭相关

    万次阅读 2011-11-01 13:00:26
    →实现标准的“打开”对话框,并获取用户文件名,而不必真正打开任何文件。获取文件的FullName 表达式.GetOpenFilename(FileFilter,FilterIndex,Title, ButtonText, MultiSelect) FileFilter:过滤文件Title:标题...
  • 扩展名也可以是其它的xlsx之类的,自己修改扩展名就行了 Sub SaveAllAndCloseXls() Dim FileName As String Dim extensionName As ... FileName = wbk.Name '获取文件的名字,带扩展名的那种,长这样:report.x...
  • 大家好,最近推出的内容是“VBA信息获取与处理”中的部分内容,这套教程面向中高级人员,涉及范围更广,实用性更强,现在的内容是第一个专题“如何在Word中打开、激活、关闭Excel文件”的内容。第四节 在EXCEL中打开...
  • 大家好,最近推出的内容是"VBA信息获取与处理"中的部分内容,这套教程面向中高级人员,涉及范围更广,实用性更强,现在的内容是第一个专题"如何在Word中打开、激活、关闭Excel文件"的内容。第四节 在EXCEL中打开及...
  • 前景提要上一节,我们学习了在进行批量工作薄汇总的过程中,碰到工作薄已经被打开的情况要如何处理,其实按照正常的逻辑来说,在进行批量工作薄汇总之前,应该首先确保所有的工作薄都已经关闭并且相应的数据已经做好...
  • 我有一些vba代码来打开基于filename-date的excel文件(即“test-09Sep2016.xlsm” .打开文件后,它会搜索工作簿并尝试查找我正在查找的内容 . 一旦它返回结果,它将关闭工作簿并循环遍历文件夹以查找下一个文件等等.....
  • Excel文件自毁VBA指令

    千次阅读 2016-10-27 19:07:51
    新建一个Excel工作簿,按Ctrl+F11打开Excel VBE代码编辑窗口,把以下代码指令放到ThisWorkbook,只要一运行就会毁掉当前工作簿,需要做好备份。Sub kills() Application.DisplayAlerts = False With ThisWorkbook '...
  • 前景提要()最近有童鞋表示,现在都是大数据时代了,在公司处理的数据都是的多,虽然有了VBA的帮助,但是受限于excel版本的问题以及电脑本身性能的影响,处理数据还是要浪费一些精力的,加上经常上面交代的都是一些...
  • 一....打开一个Excel文件,在需要插入批注的单元格右击-定义名称(myTable1).点击菜单栏-视图-宏-查看宏-输入宏名-创建宏 ​ 2.进入VBA编辑界面,将以下代码拷贝-保存-关闭VBA界面 Sub addComment...
  • Excel-VBA文件操作5

    2010-07-14 08:11:00
     示例  本示例关闭 Book1.xls,并放弃所有对此工作簿的更改。  Workbooks("BOOK1....  Workbooks.Close  6、综合实例  假如F盘有一个Excel文件test.xls,现在有另一个Excel文件
  • 1、将需要拆分的EXCEL文件放在一个单独的文件夹,打开这个EXCEL文件,并关闭其他打开EXCEL文件; 2、excel表格保留一行标题行,并把第一列数据填写为拆分项(文件拆分时将按第一列的内容进行归类合并为一个文件)...
  • 如果是需要对每个excel文件都执行某些动作,那可以用Workbooks.Open方法逐个打开excel文件,然后编写要执行的动作代码,最后保存后关闭。但是如果只是要过滤每个Excel文件内的工作表名称,满足指定条件的工作表名称...
  • 1、打开Excel文件 Workbooks.Open 2、打开文本文件 Workbooks.OpenText 3、打开其他文件 Workbooks.OpenXML 4、保存文件 Expression.Save 5、关闭文件 Expression.Close  在我们日常使用Exce
  • 如果是需要对每个excel文件都执行某些动作,那可以用Workbooks.Open方法逐个打开excel文件,然后编写要执行的动作代码,最后保存后关闭。但是如果只是要过滤每个Excel文件内的工作表名称,满足指定条件的工作表名称...
  • 本部分将对Excel VBA编程的用户窗体控件进行讲解,说明了用户窗体的作用,怎样在Excel中...Excel VBA的用户窗体可以更好的实现用户与Excel文件的交互,用户窗体可以显示固定信息来提示用户,如标签等;也可以与用...
  • Excel_VBA教程

    2014-09-22 11:36:34
    三、学习微软 EXCEL 2002 VBA 编程和XML,ASP技术 22 第一章 电子表格自动化简介和了解宏命令 22 1了解宏 22 2宏命令的普通应用 22 3写宏之前的计划 23 4录制宏 24 5运行宏 26 6修改宏代码 26 7添加注释 29 8分析宏...
  • Excel VBA 基础教程

    2019-01-01 18:51:06
    .................................................................................................................1 1.1 VBA是什么...........................................................................
  • (二)处理文件 下面是windows中提供的对于文件进行操作的API函数及其功能: CloseHandle 关闭一个内核对象。其中包括文件文件映射、进程、线程、安全和同步对象等。 CompareFileTime 根据...
  • 1.打开Excel文件,不要关闭; 2.再另外打开你自己需要操作的另一个Excel文件,并保持你要操作的工作表做为当前活动工作表; 3.在你的文件中按Ctrl+I (或在你的文件中手动执行宏,然后选择本EXCEL文件中的宏...
  • Excel VBA工作簿操作

    2020-05-17 22:37:19
    1、打开文件与新建文件 '打开文件 Application.ScreenUpdating = False '关闭屏幕更新 Application.DisplayAlerts = False '关闭警告 Workbooks.Open Filename:="D:\XSL\文件夹\1.xls" ActiveWorkbook.Sheets(1)....

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 131
精华内容 52
关键字:

vba打开关闭excel文件