如何利用DOS批處理+Excel VBA實現智能辦公實例?

2021-01-21 office實驗室

上次節課我們簡單介紹了下DOS批處理。我們學習DOS批處理是為了實現更高效更智能的辦公。今天我們來看看如何利用DOS批處理結合EXCEL來實現高效辦公吧。

01我們來看個簡單的例子:

任務要求:

將c:\tmp\data.txt 打開、分列處理。篩選出零庫存。另存為0庫存報表.xlsx在d:\data\temp\創建以當前日期使命的文件夾將生成的0庫存報表.xlsx 移動到d:\data\temp\當前日期文件夾

02本例實現步驟:

在C:\tmp\創建文本文件——生成0庫存報表.txt

編寫如下批處理腳本代碼:

@echo off

cd\

c:

cd C:\tmp 』將當前目錄設置在C:\tmp

start 生成0庫存報表.xlsm 』運行代VBA腳本可生成0庫存報表的程序文檔。

md d:\data\%date:~0,4%%date:~5,2%%date:~8,2% 『在d:\data下創建以當天日期命名的文件夾。

move 0庫存報表.xlsx d:\data\%date:~0,4%%date:~5,2%%date:~8,2% 』將生成的最終報表——0庫存報表.xlsx 移動到d:\data\當天日期命名的文件夾

start d:\data\%date:~0,4%%date:~5,2%%date:~8,2% '打開d:\data\當天日期命名的文件夾。

@echo on

如圖:

將生成0庫存報表.txt 擴展名改為.cmd或.bat ,本例改為: 生成0庫存報表.cmd

03生成0庫存報表的VBA程序文檔

新建 生成0庫存報表.xlsx

按ALT+F11,進入VBE編程環境 ,編寫如下VBA代碼:

Sub auto_open()

Application.DisplayAlerts = False

Workbooks.OpenText Filename:="C:\tmp\data.txt", Origin:=936, tartRow:=1 , DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), Array( 3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1)), TrailingMinusNumbers:=True '用EXCEL打開文本文件data.txt 並分列。 Cells.Select '全選

Selection.AutoFilter

ActiveSheet.Range("$A$1:$H$6011").AutoFilter Field:=7, Criteria1:="=0", Operator:=xlAnd '篩選庫存為0的列表。

Cells.Select '全選

Selection.Copy '複製

Workbooks.Add '新建文檔

Range("a1").Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks :=False, Transpose:=False '粘貼

Application.CutCopyMode = False

ActiveWorkbook.SaveAs Filename:="C:\tmp\0庫存報表.xlsx", FileFormat:= xlOpenXMLWorkbook, CreateBackup:=False '另存出0庫存報表

Workbooks("0庫存報表.xlsx").Close '關閉另存出0庫存報表

ActiveWorkbook.Close '關閉當前工作表

ActiveWorkbook.Close '關閉當前工作表

Application.DisplayAlerts = True

End Sub

如下圖所示:

04

將 生成0庫存報表.xlsx 另存為 :生成0庫存報表.xlsm。

在excel 文件-選項-信任中心-宏設置-啟用所有宏

如下圖所示:

至此就完成了本例的製作。

滑鼠雙擊 生成0庫存報表.cmd 即可實現

將c:\tmp\data.txt 打開、分列處理。篩選出零庫存。另存為0庫存報表.xlsx在d:\data\temp\創建以當前日期使命的文件夾將生成的0庫存報表.xlsx 移動到d:\data\temp\當前日期文件夾

05思路

本例是利用DOS批處理 調用包含宏或VBA代碼的EXCEL文檔實現高效辦公。此方法是比較常見實用的方案希望對大家提高工作效率有所啟發和幫助。

喜歡我的文章請關注、轉發、點讚、收藏,謝謝大家的支持!

更多作者文章:

操作文檔你會更有效率

如何使用EXCEL 製作動態密碼登入窗體

EXCEL菜單還可以這樣個性定義

Excel 製作二級目錄的方法——表單控制項法

EXCEL蝴蝶圖還可以這樣製作

相關焦點

  • Excel vba 利用定義名稱實現用戶登錄功能
    文/江覓易見在vba 中實現用戶登錄,並對登錄用戶進行身份識別,然後對用戶進行分組管理,此類功能值得進一步思考。這裡介紹一種方法,利用Excel中的名稱管理來進行身份識別,起到用戶登錄次數以及增減用戶的功能。
  • excel VBA是什麼?VBA編程入門教程
    本篇將介紹excel vba是什麼?vba編程入門教程,有興趣的朋友可以了解一下!一、excel vba是什麼?VBA的英文全稱是Visual Basic for Applications,是一門標準的宏語言。VBA語言不能單獨運行,只能被office軟體(如:Word、Excel等)所調用。
  • 如何實現在WORD中打開EXCEL文件
    ,這裡用了一個myfile變量來表示這個文件,在取得當前路徑後,用OPEN語句來實現打開的命令,當然在之前還要實現一下這個應用程式的引用Set XLApp = CreateObject("excel.application"),如果是在其他的應用程式,只需要變更這裡就可以實現不同的引用了。
  • Excel VBA 實例-批量生成word報告
    將永恆君的百寶箱設為星標 精品文章第一時間讀 之前介紹過如何批量提取word內容到excel的實例: 實例(23) - 一鍵批量提取word表格內容 實例(26) – 一鍵批量提取word文字內容 今天這個實例就來說說如何將excel中的內容填充到word中,批量生成報告。
  • 如何在Windows 10下利用DOS批處理實現定時關機操作
    之前我一直用獵豹WiFi實現這個功能,不但能開WiFi,還有定時關機的功能。可是自從升級到Windows 10 的最新版後,發現獵豹WiFi已經沒多大用了,況且有時候獵豹WiFi對校園網的支持還時好時壞,還是系統自帶的這個比較好。
  • 「Python替代Excel Vba」系列(二):pandas分組統計與操作Excel
    請關注本號,更多乾貨,立刻送達~~系列列表學Python還不會處理Excel數據?帶你用pandas玩轉各種數據處理前言在本系列的上一章已經介紹了如何讀寫 excel 數據,並快速進行匯總處理。但有些小夥伴看完之後有些疑惑:那只是簡單讀寫數據而已,有時候需要設置 excel 的格式。
  • 「Python替代Excel Vba」系列(終):vba中調用Python
    本系列一直強調要善用各種工具,作為本系列的最後一節,那麼這次就用一例子說明如何讓Python結合Vba,直接在Excel中動態獲取各種處理條件,輸出結果。日後也會不定期分享 pandas 的處理案例,但不一定非要與 Excel 掛鈎。比如直接結合 power bi 做處理分析。本文主要效果如下圖:處理數據的過程在 Python 中進行。
  • 利用VBA實現個人小型辦公自動化過程中的數據批處理
    VBA是利用OFFICE實現自己小型辦公自動化的有效手段,我根據自己20多年的VBA實際利用經驗,總結了四部VBA學習資料,是我「積木編程」思想的體現。第一:VBA代碼解決方案,是VBA中各個知識點的講解,覆蓋了絕大多數的知識點;第二:VBA資料庫解決方案,是數據處理的專業利器,介紹利用ADO連接ACCDB,EXCEL。第三:VBA數組與字典解決方案,講解VBA中的數組和字典的利用。
  • excel怎麼利用vba獲取單元格交叉範圍的數據
    excel中使用vba獲取多個單元格區域的交叉範圍  1、首先我們打開一個工作樣表作為例子。   3、實際上我們用vba可以方便的對這個區域作出選擇。
  • excel如何實現更改數據就自動填充顏色的功能?你需要用到它
    Hello,大家好,工作中是不是有遇到這樣的情況,當我們做好的表格發給領導後,領導修改了下說可以了,但是因為數據太多,不知道修改了哪裡,十分的鬱悶,今天就跟大家分享下在excel中如果別人更改了單元格就會自動的填充顏色實現這樣的功能我們需要使用excel中的vba代碼來實現
  • 利用VBA代碼,對Excel表格進行字體設置
    No.1字體設置是Excel或Word辦公軟體最簡單的操作,下面把所有字體對象的屬性羅列一遍,介紹一下,如何使用vba代碼進行相應的字體設置。下圖為字體對象Font的所有屬性。一共18個。下面重點看一下代碼,如何來實現。
  • 巧用excel + txt構造出神奇高效的批處理小程序
    當數據量越大時,這種方法的優勢就越突出,別用要花10分鐘解決的,你利用這種方法可能只需要3分鐘搞定。bat批處理主要是對電腦文件的多種操作,文件類型支持非常廣泛,工作中常用到的word、excel、ppt等等都可以進行批量的操作處理,處理包括:新建、移動、拷貝、複製、刪除、提取、壓縮等多種操作。
  • python自動化辦公|批量處理Excel文件的利器
    Excel是當前最流行的辦公軟體之一,在數據統計、處理和分下方面都有獨特的優勢其實python能做的,excel都能做,但是為什麼我們還要學python呢?的功能是最全的,它不僅能讀、寫xls和xlsx兩種格式的excel文件,而且能批量處理多個excel文件。
  • dos命令發出聲音圖文教程,電腦音箱喇叭蜂鳴器滴,bat批處理腳本
    今天我們學習dos中發出滴的一聲,就是電腦音箱喇叭揚聲器發出的聲音,在dos中有一個特殊的符號,這個符號就可以發出這個聲音,在cmd窗口中按ctrl+g,就會出現這個符號,回車後,就會滴的一聲,它是調用電腦音箱的聲音,可以調節音量大小。
  • dos命令發出聲音圖文教程,電腦音箱喇叭蜂鳴器滴,bat批處理腳本
    今天我們學習dos中發出滴的一聲,就是電腦音箱喇叭揚聲器發出的聲音,在dos中有一個特殊的符號,這個符號就可以發出這個聲音,在cmd窗口中按ctrl+g,就會出現這個符號,回車後,就會滴的一聲,它是調用電腦音箱的聲音,可以調節音量大小。
  • 學Python還不會處理Excel數據?帶你用pandas玩轉各種數據處理
    本文要點:使用 xlwings ,如同 vba 一樣操作 excel使用 pandas 快速做透視表案例今天的例子非常簡單,從一個表中讀取學生的數據,然後按班級匯總各個科目的成績。options(pd.DataFrame) 是一個很關鍵的操作,我們希望把數據放入 pandas 的 DataFrame ,以便快速處理數據。然後通過 value 獲得。我們來看看數據現在姓名列變成了 index 。不過需求是不需要理會姓名,因此我們不處理。[班級]列變成小數。其實是小數也不會影響結果。數據透視接下來就非常簡單,直接使用pandas做出透視表。
  • DOS使用環境變量圖文教程,bat批處理腳本查看調用環境變量命令
    今天我們學習在DOS和BAT批處理腳本中使用環境變量,環境變量是windows定義的一個變量,它有一個對應的值,下邊先介紹一下如何查看環境變量。我的電腦點右鍵屬性,高級中點環境變量就可以看到環境變量列表,這裡也可以添加編輯刪除等操作,左邊是變量的名字,右邊是該變量的值,我們可以通過這個變量的名字使用該變量的值。
  • 辦公軟體word製作一個名字對戰小遊戲
    上次和朋友們一起用excel開發了一款五子棋小遊戲。可能有朋友會問,這麼多遊戲引擎,為啥要用excel這樣的辦公軟體來製作遊戲?原因有兩個:方便:不用配置環境,不用額外安裝引擎。今日,我們依舊用辦公軟體word來開發一款雙人名字對戰的遊戲。首先來看看最終效果圖:效果圖中包含:標題,2個名稱輸入框,開始遊戲按鈕,遊戲信息。
  • dos命令發出聲音圖文教程,播放mp3音樂格式文件,bat批處理腳本
    在dos中播放mp3文件,可以輸入該文件的路徑和名字就可以播放,進入d盤後,輸入c:\\1.mp3,回車,這樣就會彈出播放器,開始播放該文件我們有的時候在做批處理的過程中,碰到命令會執行失敗的時候,想播放一個聲音文件提示自己,就可以做一個這樣的批處理。
  • Excel實現信息管理系統之數據錄入界面設計步驟詳解
    本身excel就是一款功能強大的數據信息管理和分析軟體,我們如果在它的基礎上在設計信息管理的功能感覺有點多此一舉。但是大家仔細想想,我們在excel錄入數據時,很多時候都是在單元格中直接輸入,亦或者使用excel記錄單錄入數據,然後再進行數據處理,這種方式對於大眾來講非常簡單快捷。但是如果我們處理的數據量大,錄入數據時有若干列,或者多人錄入時,這樣直接輸入真的會很便捷嗎?