日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

Python結合VBA進行數據處理與報表制作

 

用Python的好處是,可以把一系列的操作全部通過程序完成,步驟分解下來有這些:

1、通過爬蟲獲取數據(用selenium操作,當然這個是最愚蠢且效率最低的辦法,最好還是直接后臺數據庫調取);

2、用VBA和PQ配合完成數據的刷新和報表的制作;

3、用SMTP完成郵件發送(但是現在有bug,可能是某些二流服務器的問題,附件總是收不到或者是變成.dat文件,比如189郵箱。。。比如outlook。。。);

4、用itchat完成微信內的表格和文字發送。

上述四個步驟中,目前已經實現了2、3、4(3和4的代碼可以參看我之前的文章)

其實用VBA就能解決報表的制作和郵件發送了,但是1和4是肯定沒辦法完成的,而Python至少還有可能性!

使用的VBA代碼和Python代碼如下(主要思路就是用宏操控PQ,用Python操控宏):

Python代碼:

  •  
import win32com.client
#運行宏
def useVBA(file_path, VBA):
 xlApp = win32com.client.DispatchEx("Excel.Application")
 xlApp.Visible = True
 xlApp.DisplayAlerts = 0
 xlBook = xlApp.Workbooks.Open(file_path,False)
 xlBook.Application.Run(VBA) #宏
 xlBook.Close(True)
 xlApp.quit()
file_path1=r"C:UsersAdministratorDesktop報表日報!源數據(每日刷新).xlsm"
file_path2=r"C:UsersAdministratorDesktop報表日報日報模板(會用宏的可以用用).xlsm"
useVBA(file_path1, '數據刷新宏')
useVBA(file_path2, '日報宏')

數據刷新宏代碼:

  •  
Sub 數據刷新宏()
 ActiveWorkbook.RefreshAll
End Sub

 

日報宏代碼:

  •  
Sub 日報宏()
'獲得昨天的標準日期(1018這種格式)
yesterday = DateAdd("d", -1, Now)
yesterday_format = Format(yesterday, "mmdd") & ".xlsx"
Path = Application.ThisWorkbook.Path
'增加一段代碼,強制必須刷新
ActiveWorkbook.UpdateLink Name:= _
 Path & "!源數據(每日刷新).xlsm", Type:=xlExcelLinks
Sheets("門店維度").Select
 Cells.Select
 Range("A2").Activate
 ActiveWorkbook.BreakLink Name:= _
 Path & "!源數據(每日刷新).xlsm", Type:=xlExcelLinks
 Selection.Replace What:="#N/A", Replacement:="0", LookAt:=xlPart, _
 SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
 ReplaceFormat:=False
 Sheets("門店通報").Select
 Range("A1:K1").Select
 Selection.Copy
 Range("A2:K2").Select
 Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
 :=False, Transpose:=False
 Application.CutCopyMode = False
 ActiveWorkbook.SaveAs Filename:= _
 Path & "【基礎經營-實體1】:“乘風破浪”百日沖刺報表" & yesterday_format, _
 FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
End Sub

 

其中的VBA代碼需要根據不同的情況和需求更改,但是Python通過調用VBA可以實現自動化的操作并實現定時的執行腳本

來源網絡,侵權聯系刪除

分享到:
標簽:Python VBA
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定