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:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -5,6 +5,7 @@ dist
|
|||||||
log
|
log
|
||||||
*.spec
|
*.spec
|
||||||
temp
|
temp
|
||||||
|
.env
|
||||||
|
|
||||||
# Claude 临时文件
|
# Claude 临时文件
|
||||||
.claude/
|
.claude/
|
||||||
|
|||||||
@@ -11,11 +11,17 @@ import re
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Dict, List, Tuple, Optional
|
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文件路径
|
# 从 .env 文件读取配置,如果未设置则使用 None(交互模式)
|
||||||
# 支持相对路径(相对于脚本所在目录)或绝对路径
|
TARGET_XLSM_FILE = os.getenv("TARGET_XLSM_FILE", "").strip() or None
|
||||||
# 留空或设为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"
|
|
||||||
# =================================================
|
# =================================================
|
||||||
|
|
||||||
# VBA项目相关常量
|
# VBA项目相关常量
|
||||||
|
|||||||
@@ -13,6 +13,14 @@ import tempfile
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Dict, Any
|
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:
|
try:
|
||||||
import win32com.client as win32
|
import win32com.client as win32
|
||||||
except ImportError:
|
except ImportError:
|
||||||
@@ -21,11 +29,8 @@ except ImportError:
|
|||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
# ==================== 配置区域 ====================
|
# ==================== 配置区域 ====================
|
||||||
# 在此配置元数据文件路径(vba_metadata.json)
|
# 从 .env 文件读取配置,如果未设置则使用 None(默认模式)
|
||||||
# 支持相对路径(相对于脚本所在目录)或绝对路径
|
TARGET_METADATA_FILE = os.getenv("TARGET_METADATA_FILE", "").strip() or None
|
||||||
# 元数据文件包含 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"
|
|
||||||
# =================================================
|
# =================================================
|
||||||
|
|
||||||
# 常量定义
|
# 常量定义
|
||||||
|
|||||||
@@ -5,3 +5,6 @@ pywin32>=306; sys_platform == 'win32'
|
|||||||
|
|
||||||
# olevba库方法 - 不需要Excel
|
# olevba库方法 - 不需要Excel
|
||||||
oletools>=0.60
|
oletools>=0.60
|
||||||
|
|
||||||
|
# 环境变量管理
|
||||||
|
python-dotenv>=1.0.0
|
||||||
|
|||||||
Reference in New Issue
Block a user