创建 Excel 宏以将 XML 导出到特定文件夹

2023-12-03

我需要创建一个宏(我以前从未做过),如果你们能引导我走上正确的道路,我将非常感激。

我目前正在做什么: 我创建了一个映射 XML,并将其导入到 Excel 中。将其导入 Excel 后,用户将继续在其中粘贴一些数据并将其导出以接收 XML 数据文件,然后用户可以将其放置到 FTP,作业将在其中拾取它并将其导入数据库。

问题是这样的: 导出有以下节点,我不想要:

 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <Root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

相反,我想将其替换为以下内容:

<?xml version="1.0" ?>
<Root xmlns="http://tempuri.org/CourseImport.xsd">

我如何自动化这个? Excel 中是否有某种设置可以实现这一点?

基本上,我希望导出具有我的根目录而不是默认根目录,并且我希望能够自动将文件拖放到指定的路径:例如:\development\school\course import

谢谢!


我的同事实际上帮我解决了这个问题。我想我应该分享我所做的事情

Sub ExportXML()
'
' Export XML Macro exports the data that is in Excel to XML.
'
Const ForReading = 1
Const ForWriting = 2

Set objFSO = CreateObject("Scripting.FileSystemObject")

'
newFileName = Application.GetSaveAsFilename("out.xml", "XML Files (*.xml), *.xmls")
If newFileName = False Then
Exit Sub
End If
If objFSO.FileExists(newFileName) Then
objFSO.DeleteFile (newFileName)
End If
ActiveWorkbook.XmlMaps("Root_Map").Export URL:=newFileName


Set objFile = objFSO.OpenTextFile(newFileName, ForReading)


Dim count
count = 0
Do Until objFile.AtEndOfStream
 strLine = objFile.ReadLine
 If count = 0 Then
    strNewContents = strNewContents & "<?xml version=""1.0"" ?>" & vbCrLf
ElseIf count = 1 Then
    strNewContents = strNewContents & "<Root xmlns=""http://tempuri.org/import.xsd"">" & vbCrLf
Else
    strNewContents = strNewContents & strLine & vbCrLf
End If
count = count + 1

Loop

objFile.Close

Set objFile = objFSO.OpenTextFile(newFileName, ForWriting)
 objFile.Write strNewContents

objFile.Close
End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

创建 Excel 宏以将 XML 导出到特定文件夹 的相关文章

随机推荐

  • 在 C++ 中获取准确的执行时间(微秒)

    我想获得用 C 实现的程序的精确执行时间 以微秒为单位 我尝试使用clock t获取执行时间 但它不准确 请注意 微基准测试是hard 准确的计时器只是短时间区域获得有意义的结果所需的一小部分 看绩效评估的惯用方式 一些更一般的注意事项 如
  • 通过 EnvDTE 以编程方式更改 Visual Studio 项目的调试属性

    是否可以通过 EnvDTE 类以编程方式更改调试部分中的项目属性 我知道如何获取 DTE 实例并使用某些设置 但我是盲目的 或者调试部分无法访问 我从这里开始http msdn microsoft com en us library env
  • 是否可以使用 PHP 或 Apache 从客户端获取网络域?

    我正在研究一种解决方案来识别专用网络中的客户端网络域或工作组 基于此 我必须更改一些访问权限 我无法通过 IP 地址做到这一点 因为它不可信 只能通过网络域 工作组 由于我不知道的原因 我无法登录屏幕 访问必须是自动且无缝的 有人知道我该怎
  • “with”语句中变量的范围?

    我只读书firstline从 python 使用 with open file path r as f my count f readline print my count 我对变量 my count 的范围有点困惑 虽然打印效果很好 但是
  • Java 中字节移位的奇怪行为

    当我使用位移位时byte 我注意到使用无符号右移时得到了奇怪的结果 gt gt gt With int 均右移 符号 gt gt 和未签名 gt gt gt 表现如预期 int min1 Integer MIN VALUE gt gt 31
  • GWT uibinder 自动更正关闭

    我使用 GWT uibinder 方法 我的 html 包含一个文本框 例如
  • 如何使用 AngularJS 模板渲染 html

    这是我的模板 div class span12 div
  • 查找前面没有其他字符串的字符串

    我只想得到 bar here gt gt gt re findall r
  • Google Cloud Messaging,从客户端创建通知密钥时返回 401 Unauthorized

    我按照上面的例子https developer android com google gcm notifications html gen client尝试从客户端创建通知密钥 getAccounts 方法确实返回了一个有效的谷歌帐户 Go
  • 如何在 JSON 字符串反序列化期间忽略数组项

    这似乎很简单 但我就是不知道该怎么做 我使用外部 api 来获取 JSON 结果 使用 Newtonsoft JSON 问题是一个糟糕的设计 这给我留下了一个具有混合类型的数组 如下所示 data Monday 13 january id
  • 寻找 UTF-8 文本编辑器

    我正在寻找一个 简单的 文本编辑器 可以处理同一文档中不同编码的文本 我需要开发一些日语和英语混合文本的网站 而我现在的编辑器 在英语 Windows 系统上 无法显示日语文本 Jedit 文件不显示我输入的日语文本 但当我在浏览器中查看该
  • SQL Server 中的会话全局临时表

    在 SQL Server 中 名称类似于 temp 的临时表具有本地作用域 如果您在会话中创建它们 则会话中的所有内容都可以看到它们 但会话外则看不到它们 如果您在存储过程中创建这样的表 则作用域是该过程的本地范围 所以当进程退出时 表就消
  • 更改 WPF C# 中文本某些部分的颜色和字体

    有没有办法更改我想放在 TextBox 或 RichTextBox 上的文本某些部分的颜色和字体 我正在使用 C WPF 例如 richTextBox AppendText Text1 word Text2 变量词例如可以是 Text1 和
  • SendGrid:如何从 Azure Blob 存储附加文件?

    我在 Windows Azure Blob 存储中有 Blob 我想将其附加到使用 SendGrid 发送的电子邮件中 我想指定附件的文件名 真实的文件名只是胡言乱语 据我所知 这迫使我将附件添加为流 我的代码如下所示 var msg Se
  • 无法从 AWS Cognito 注销用户

    我已经设置了使用 AWS Cognito 进行身份验证的 API 网关 用户登录后 我使用以下脚本来验证他们的凭据 const cognitoidentityserviceprovider new AWS CognitoIdentitySe
  • 将文件传递给另一个 iPhone 应用程序

    有谁知道有任何示例或开源代码可以做到这一点吗 或者写一篇解释如何做的文章 Apple 有相当多的示例代码可以在其他应用程序中打开网址 但我找不到任何应用程序要求另一个应用程序打开手机上存储的文件的示例 Thanks 有两种方法可以做到这一点
  • 将参数传递给dispatch_async

    我是 Swift 新手 正在研究dispatch async 函数的工作原理 API 文档显示dispatch async 有两个参数 不过 我可以传递一个参数 这没关系 dispatch async dispatch get main q
  • 在所有延迟作业成功回调之前挂钩以保存成功完成的作业

    客观的 保存成功完成的作业 使用的方法 看过这个答案它告诉我们如何保存已完成的作业以及这个答案这建议创建一个将在生命周期事件之一之后执行的插件 Problem 有以下生命周期事件以及适用的参数 如code enqueue gt job ex
  • 如何在使用 ANT 运行类或套件中的所有测试时打印当前正在执行的 JUnit 测试方法?

    我有一组 JUnit 测试用例 我使用 ANT 从 ANT 执行它们junit任务 执行测试时 在控制台中我只能看到当前正在运行的测试用例 即 Java 类 但看不到测试方法 有没有办法可以打印当前正在执行的测试方法 或者除了拥有自己的 J
  • 创建 Excel 宏以将 XML 导出到特定文件夹

    我需要创建一个宏 我以前从未做过 如果你们能引导我走上正确的道路 我将非常感激 我目前正在做什么 我创建了一个映射 XML 并将其导入到 Excel 中 将其导入 Excel 后 用户将继续在其中粘贴一些数据并将其导出以接收 XML 数据文