分类目录归档:Office相关

VBA 判断Excel表是否为共有模式


 
Sub Sample_MultiUserEditing()
'ブックの共有モードと排他モードを切り替える

    Dim FileName As String
    Dim BookState As String
    Dim w As Workbook

    FileName = "C:\Documents\test01.xlsx"
    Set w = Workbooks.Open(FileName)

    '確認メッセージを非表示にする
    Application.DisplayAlerts = False

    If w.MultiUserEditing =

Read more

通过PID关闭新创建的Excel对象


问题背景

在Outlook中操作Excel,在Createbject后,进行对Excel的操作。用完之后有的时候set nothing到彻底关闭进程会有延迟。导致下次操作要花费一定的等待时间。 解决思路是,根据PID强制关闭进程。示例代码如下:

Public Declare Function GetWindowThreadProcessId Lib "user32" _
  (ByVal hwnd As Long, _
   ByRef lpdwProcessId As Long) As Long

Function KillProcess(hwnd As Long)
  Dim Curren

Read more

Test


import pyodbc import os import pandas as pd

from configparser import ConfigParser

desktop_path = os.path.normpath(os.path.expanduser("~/Desktop")) config = ConfigParser() config_file = desktop_path + "\read_ini.ini" config.read(config_file, 'cp932') db_path = config.get('baseconf', 'db_path') work_p

Read more

Access通过VBA执行SQl如何不提示确认消息


如何让Access在执行VBA时,不提示警告? 例如:正常情况下我们执行插入或删除的时候,会提示我们操作了多少行数据,但有些场景部门并不希望它提示出来,因为如果用户不点击“确认”或“取消”,代码就无法继续往下执行。 那么如何设置才能不显示提示信息呢? 有一下两种方案:

  • 执行DoCmd.SetWarnings False命令关闭系统提示和警告信息。 示例:
    Dim strSQL As String
    strSQL = "更新语句"
    '方法1
    DoCmd.SetWarnings False'不显示警告
    DoCmd.RunSQL strSQL
    DoCmd.setwarnints True'恢复显示

Read more

自动执行Excel的VBA代码


应用场景

我们写好一段VBA代码,比如批量处理excel文件,我们可以手动执行这段代码,但是有时候我们希望让他定时执行,那么该怎么处理呢?

准备

  • 在Excel中将我们的VBA代码写好,我这里的方法名为main。
  • 新建一个VBS文件,可以新建txt文件,然后另存为.vbs格式
  • 将如下代码写入vbs文件中
sPath = "C:\Users\Tango\Desktop\vba_tool\tool_Ver1.0.xlsm"

sRunTime1 = "7:00"
aTime = Split(sRunTime1,":")
iHour = CInt(aTime(0))
iMinute = CInt(

Read more