发邮件

2022年7月31日

14:37

 
import os
from openpyxl import load_workbook
import win32com.client as win32
wb = load_workbook("``邮件地址``.xlsx")
ws = wb.active
address = {}
for i in range(2, ws.max_row + 1):
  dept = ws["A" + str(i)].value
  to_add = ws["B" + str(i)].value
  cc_add = ws["C" + str(i)].value
  address[dept] = [to_add, cc_add]
 
 
def Send_mail(to_add, cc_add, file_path, dept):
  '''
  ``传入参数说明:
  to_add,``收件人地址
  cc_add,``抄送地址
  file_path,``附件路径
  dept,``部门名称
  '''
  outlook = win32.Dispatch('Outlook.Application')  # ``调用``windows outlook``应用
  mail = outlook.CreateItem(0)  # ``创建邮件
  mail.to = to_add  # ``收件人
  mail.cc = cc_add  # ``抄送人
  mail.Subject = "{}``年假情况``".format(dept)  # ``主题
  mail.Attachments.Add(file_path)  # ``添加附件。若有多个附件,则多调用几次即可
  mail.Body = '''Dear All,\n``这是``{}``的年假情况,请查收!谢谢。``\n\nBest regards!\n``人事部 小李``'''.format(dept) # ``正文内容
  mail.Send()  # ``发送邮件
 
# ``发送邮件到各部门
for dept in address.keys():
  to_add = address[dept][0]
  cc_add = address[dept][1]

file_path = os.getcwd() + '[\年假_按部门\年假情况_{}.xlsx’.format(dept)](file://年假_按部门/年假情况_{}.xlsx’.format(dept))

  Send_mail(to_add, cc_add, file_path, dept)
print("``邮件发送完成。``")

PyQt5 制作可视化界面

2022年7月31日

15:54

 
class MainGUI(QtWidgets.QMainWindow):
  '''
  ``文件目录框使用``QLineEdit()``、按钮使用``QPushButton()``、
  ``结果显示框使用``QListWidget()``,
  ``整体的布局使用``QGridLayout()
  '''
  #``设置用户界面
  def __init__(self):
    super().__init__() #``调用父类中``__init__``的函数
    self.setWindowTitle("``领料明细汇总``") #``设置窗口标题
    self.resize(800, 400) #``设置窗口大小,单位为像素
    self.main_widget = QtWidgets.QWidget() #``创建界面 ``   
    self.main_widget_layout = QtWidgets.QGridLayout() #``选取布局为网格布局(多行多列)
    self.main_widget.setLayout(self.main_widget_layout) #``设置布局
    #``设置部件
    self.input = QtWidgets.QLineEdit()#``文本编辑框``1
    self.input_btn = QtWidgets.QPushButton("``选择输入文件夹``") #``按钮``1``及名称
    self.output = QtWidgets.QLineEdit() #``文本编辑框``2
    self.output_btn = QtWidgets.QPushButton("``选择输出文件夹``")#``按钮``2``及名称
    self.show_result = QtWidgets.QListWidget() #``列表控件
    self.run = QtWidgets.QPushButton("``执行汇总``") #``按钮``3``及名称
    #``部件的位置设置
    self.main_widget_layout.addWidget(self.input, 0, 0, 1, 2) #``文本编辑框``1``放在第``1``行``1``列,占用``1``行``2``列
    self.main_widget_layout.addWidget(self.input_btn, 0, 2, 1, 1) #``按钮``1``放在第``1``行第``3``列,占用``1``行``1``列
    self.main_widget_layout.addWidget(self.output, 1, 0, 1, 2)
    self.main_widget_layout.addWidget(self.output_btn, 1, 2, 1, 1)
    self.main_widget_layout.addWidget(self.run, 2, 2, 1, 1)
    self.main_widget_layout.addWidget(self.show_result, 3, 0, 3, 3)
    self.setCentralWidget(self.main_widget) #``设置``QMainWindow``的中心窗口
        
    self.input_btn.clicked.connect(self.Choice_dir_input) #``将``"``选择输入文件夹``"``按钮绑定``Choice_dir_input``函数
    self.output_btn.clicked.connect(self.Choice_dir_output) #``将``"``选择输出文件夹``"``按钮绑定``Choice_dir_output``函数
    self.run.clicked.connect(self.Summary_data) #“``执行汇总``”``按钮绑定``Summary_data``函数
 
def main():
  app = QtWidgets.QApplication(sys.argv) #[``固定写法``]``实例化应用,``sys.argv``是一个从程序外部获取参数的桥梁
  app.setWindowIcon(QIcon("PO.ico"))#``设置界面左上角图标
  gui = MainGUI() #[``固定写法``]``调用``MainGUI``类
  gui.show() #[``固定写法``]``显示窗口
  sys.exit(app.exec_()) #[``固定写法``]``调用``exec_()``方法运行程序。``sys.exit()``用于程序的正常退出

小病毒制作

2022年7月31日

18:46

img

img

img

img

img

img

原文地址:http://www.cnblogs.com/xiaofubase/p/16899110.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性