gpt4 book ai didi

excel - SSIS 脚本任务 - 使用只读变量名称保存 Excel 模板的副本

转载 作者:行者123 更新时间:2023-12-04 20:51:43 25 4
gpt4 key购买 nike

我希望能够使用下面的脚本任务代码将 Excel 工作簿的副本(在某些单元格中添加一些数据之后)保存为 ForEachLoop 容器中的变量 ClientName 的名称。

我从 Stack Overflow 中提取了一些代码,这些代码已经填充了 Excel 工作簿模板中的特定单元格,但我试图在每次迭代时使用 ClientName 变量保存每个工作簿,例如客户名称.xlsx

Public Sub Main()
Dim ClientName As String
Dim ClientAddress As String
Dim CurrentDate As Date

Dim m_XlApp = New Excel.Application
Dim m_xlWrkbs As Excel.Workbooks = CType(m_XlApp.Workbooks, Excel.Workbooks)
Dim m_xlWrkb As Excel.Workbook
m_xlWrkb = m_xlWrkbs.Open("C:\Users\UserAZ\Documents\TemplateStatement.xlsx")

Dim m_XlWrkSheet As Excel.Worksheet = CType(m_xlWrkb.Worksheets(1), Excel.Worksheet)

'ClientName = (Dts.Variables("User::strClientName").Value).ToString()
'MsgBox(ClientName)
'ClientAddress = (Dts.Variables("User::strClientAddress").Value).ToString()
'MsgBox(ClientAddress)
'CurrentDate = Today
'MsgBox(CurrentDate)

m_XlWrkSheet.Range("A1").Value = ClientName
m_XlWrkSheet.Range("A2").Value = ClientAddress
m_XlWrkSheet.Range("B4").Value = CurrentDate

'm_xlWrkb.Save()
m_xlWrkb.SaveCopyAs("C:\Users\UserAZ\Documents\" & ClientName & ".xlsx")
m_xlWrkb.Close(SaveChanges:=True)

Marshal.ReleaseComObject(m_xlWrkb)
Marshal.ReleaseComObject(m_xlWrkbs)
m_XlApp.Quit()
Marshal.ReleaseComObject(m_XlApp)


Dts.TaskResult = ScriptResults.Success

End Sub

我期待在 For 循环容器中的每次迭代之后,脚本任务将使用变量 ClientName 保存模板的副本,然后进入下一次迭代并重复。

但是,它会弹出一个对话框,询问我是否要保存 TemplateStatement.xlsx 的副本。如果我按下不保存,它实际上会进入下一次迭代。但重点是让它在没有任何人工干预的情况下运行。

我不熟悉 VB.Net。

最佳答案

首先,尝试使用SaveAs()而不是 SaveCopyAs() .此外,尝试添加以下行以防止显示任何对话框:

m_XlApp = New Excel.Application
m_XlApp.visible = False
m_XlApp.DisplayAlerts = False

Dim m_xlWrkbs As Excel.Workbooks = CType(m_XlApp.Workbooks, Excel.Workbooks)
Dim m_xlWrkb As Excel.Workbook
m_xlWrkb = m_xlWrkbs.Open("C:\Users\UserAZ\Documents\TemplateStatement.xlsx")

m_xlWrkb.DoNotPromptForConvert = true


'...

m_xlWrkb.SaveAs("C:\Users\UserAZ\Documents\" & ClientName & ".xlsx")
m_xlWrkb.Close(SaveChanges:=True)

有用的网址
  • Excel interop prevent showing password dialog
  • 关于excel - SSIS 脚本任务 - 使用只读变量名称保存 Excel 模板的副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57893462/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com