refactor: migrate configuration to .env file for better environment management

- Replace hardcoded file paths with environment variables in extract_vba.py and import_vba.py
- Add .env file for local configuration (excluded from git via .gitignore)
- Add python-dotenv dependency for environment variable loading
- Maintain fallback to interactive mode when environment variables are not set

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
Misaka_Company
2026-01-28 11:20:50 +08:00
parent d8e843001b
commit 69b92884a1
4 changed files with 24 additions and 9 deletions

1
.gitignore vendored
View File

@@ -5,6 +5,7 @@ dist
log
*.spec
temp
.env
# Claude 临时文件
.claude/

View File

@@ -11,11 +11,17 @@ import re
from pathlib import Path
from typing import Dict, List, Tuple, Optional
# 加载 .env 配置文件
try:
from dotenv import load_dotenv
load_dotenv()
except ImportError:
print("警告: 未安装 python-dotenv 库,将使用默认配置")
print("建议运行: pip install python-dotenv")
# ==================== 配置区域 ====================
# 在此配置要处理的xlsm文件路径
# 支持相对路径(相对于脚本所在目录)或绝对路径
# 留空或设为None则使用交互模式自动查找Excel文件夹
TARGET_XLSM_FILE = r"C:\Users\Administrator\Desktop\新BOM\AutoBOM\YTHN-100.A0.532-BOM-1.2版 Claude.xlsm" # 例如: r"Excel\myfile.xlsm" 或 r"D:\path\to\file.xlsm"
# 从 .env 文件读取配置,如果未设置则使用 None交互模式
TARGET_XLSM_FILE = os.getenv("TARGET_XLSM_FILE", "").strip() or None
# =================================================
# VBA项目相关常量

View File

@@ -13,6 +13,14 @@ import tempfile
from pathlib import Path
from typing import Dict, Any
# 加载 .env 配置文件
try:
from dotenv import load_dotenv
load_dotenv()
except ImportError:
print("警告: 未安装 python-dotenv 库,将使用默认配置")
print("建议运行: pip install python-dotenv")
try:
import win32com.client as win32
except ImportError:
@@ -21,11 +29,8 @@ except ImportError:
sys.exit(1)
# ==================== 配置区域 ====================
# 在此配置元数据文件路径vba_metadata.json
# 支持相对路径(相对于脚本所在目录)或绝对路径
# 元数据文件包含 VBA 代码的映射信息,导入器会根据此文件将代码导入到对应的 xlsm 文件中
# 留空或设为None则使用默认模式自动查找脚本所在目录下的VBA文件夹
TARGET_METADATA_FILE = r"C:\Users\Administrator\Desktop\新BOM\AutoBOM\VBA\vba_metadata.json" # 例如: r"VBA\vba_metadata.json" 或 r"D:\path\to\vba_metadata.json"
# 从 .env 文件读取配置,如果未设置则使用 None默认模式
TARGET_METADATA_FILE = os.getenv("TARGET_METADATA_FILE", "").strip() or None
# =================================================
# 常量定义

View File

@@ -5,3 +5,6 @@ pywin32>=306; sys_platform == 'win32'
# olevba库方法 - 不需要Excel
oletools>=0.60
# 环境变量管理
python-dotenv>=1.0.0