Tag: vbscript

VB脚本保持给我“macros可能不可用在此工作簿或所有macros可能被禁用”

很长一段时间读者第一次海报….这就是这些通常如何去。 我一直在试图做一个简单的VBS,只是打开Excel并运行一个特定的macros。 我几个月前发誓,当我写这个工作。 我search了类似的错误论坛,没有任何build议似乎已经为我工作。 有任何想法吗? Option Explicit Dim xlApp, xlBook Set xlApp = CreateObject("Excel.Application") xlApp.DisplayAlerts=false Set xlBook = xlApp.Workbooks.Open("C:\Users\lnguy\Desktop\New Chemical Receipt Form.xlsm", 0, True) xlApp.Run "'C:\Users\lnguy\Desktop\New Chemical Receipt Form.xlsm'!Expired2" xlBook.Close xlApp.Quit Set xlBook = Nothing Set xlApp = Nothing WScript.Echo "Finished." WScript.Quit

VBS代码不能在HTA中使用(WScript声明)

我目前正在开发一个界面,让用户select哪个报告,他们想要生成,但我有问题,我的“WScript”的声明。 我也附上了错误。 正如我已经固定行间的间距不注意行号 – 我粗线的,我错了。 真的很感谢任何帮助(尽我所能,正确格式化我的问题)。 <html> <title>Report Generation</title> <head> <HTA:APPLICATION APPLICATIONNAME="Master Report Generation" SCROLL="yes" SINGLEINSTANCE="yes" WINDOWSTATE="normal"> </head> <style> BODY { background-color: buttonface; Font: arial,sans-serif margin-top: 10px; margin-left: 20px; margin-right: 20px; margin-bottom: 5px; } .button { width: 91px; height: 25px; font-family: arial,sans-serif; font-size: 8pt; } td { font-family: arial,sans-serif; font-size: 10pt; } #scroll { height:100%; […]

使用VBScript代码更改Excel中的边距

我有一个脚本,目前需要一个Excel文档,并把它变成一个报告(仍然在Excel格式),分成两张:上传和打印。 “上传”工作表显示从原始Excel文档中获取的所有信息,并将其过滤到报告的正确列/行中。 “打印输出”表单将“上载”表单格式化并进一步格式化,以便为实际打印输出做好准备。 问题是,我试图应用方向和页边距设置参数,但它只是忽略它们。 不pipe我做什么,页面格式都不会改变。 主要是,我需要更改这些参数(边距以英寸为单位): 景观定位 左边距(0.36) 右边距(0.25) (0.5)上下边距 (0.25)页眉和页脚边距 以下是我认为存在问题的代码: 'Start printout sheet Set objLastSheet = objWorkbook.Worksheets("Upload") Set objWorksheet = objWorkbook.Worksheets("Upload") objWorksheet.Copy, objLastSheet Set objWorksheet2 = objWorkbook.Worksheets("Upload (2)") objWorksheet2.Name = "Printout" Set objRange = objWorksheet2.Pagesetup Set objRange.PageSetup.Orientation= xlLandscape Set objRange.PageSetup.LeftMargin = Application.InchesToPoints(0.36) Set objRange.PageSetup.RightMargin = Application.InchesToPoints(0.25) Set objRange.PageSetup.TopMargin = Application.InchesToPoints(0.5) Set objRange.PageSetup.BottomMargin = […]

使用vbscript在Excel中设置每张表格

我有一个VBScript将文件夹(C:\文件夹)中的所有XLS文件转换为PDF文件。 所有列也被设置为适合一个页面,并与方向景观。 这个脚本对于Sheet1工作正常,但是如果xls文件多于1张,它只会将Pagesetup设置设置为“活动”表单,而不是全部。 如何让我的Pagesetup设置应用于文件夹中所有xls文件中的所有工作表? Set xlObj = CreateObject("Excel.Application") Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.GetFolder("c:\folder") For Each file In f.Files set xlWB = xlObj.Workbooks.Open(file) With xlWB.ActiveSheet.PageSetup .Zoom = False .FitToPagesWide = 1 .FitToPagesTall = False End With thisFileName =Left(xlWB.FullName , InStrRev(xlWB.FullName , ".") – 1) xlWB.Sheets.Select xlWB.ActiveSheet.ExportAsFixedFormat 0, thisFileName & ".pdf", 0, 1, 0,,,0 […]

脚本来比较/对比两个单独的Excel文件 – 两者的导出差异

所以,今天我得到了一个任务在我的桌子上,我似乎无法得到这个脚本正常工作,完成上述任务。 我的老板给了我两个单独的.xlsx文件和两个名称列表。 她要求我查找并列出哪些名称出现在两个excel文件中,还要查找并列出哪些名称不会在每个文件上单独出现。 例如 FileA有Henry和Terry FileB有Henry和Samantha 生成FileC以显示Henry出现在FileA和FileB上 生成FileD以显示Terry出现在FileA但不是FileB 生成FileE以显示Samantha显示在FileB上,但不显示FileA 我开始尝试做拉比较列表的第一部分,但我已经不能得到这个工作。 它完成,但它不是正确的出口。 所有的用户列在列A中的两个xlsx文件中。 $strReference = Get-Content "C:\Users\person\Desktop\FileA.xlsx" $strDifference = Get-Content "C:\Users\person\Desktop\FileB.xlsx" Compare-Object $strReference $strDifference

将CSV转换为Excel表格

我正在尝试将CS​​V文件转换为xls。 CSV文件看起来像这样: 410E 54B9 C700 0 0 0 0 但是当转换完成的结果是 410E; 54B9; C700; 0; 0; 0; 0 Const xlDelimited = 1 Const xlTextQualifierDoubleQuote = 1 Const xlOpenXMLWorkbook = 51 Set xl = CreateObject("Excel.Application") xl.Workbooks.OpenText "C:\sssss.csv", , , xlDelimited _ , xlTextQualifierDoubleQuote, True, True, True, True, True, True, _ , Array(Array(1,2), Array(2,2), Array(3,2), Array(4,1), Array(5,2) _ […]

如何使用Windows任务调度程序每天运行一个macros

我有一个macros,我想在每天的特定时间(即上午11点)运行,即使Excel已closures。 我发现的是我可以通过创buildWindows任务计划程序,但我是新来的Windows,不知道如何创build。 以下是我的macros: Sub Mail_Sheet_Outlook_Body() Dim rng As Range Dim OutApp As Object Dim OutMail As Object With Application .EnableEvents = False .ScreenUpdating = False End With Set rng = Nothing Set rng = ActiveSheet.UsedRange 'You can also use a sheet name 'Set rng = Sheets("YourSheet").UsedRange Set OutApp = CreateObject("Outlook.Application") Set OutMail = OutApp.CreateItem(0) On […]

如果工作表已经存在,请重命名excel工作表

在下面的代码中,我试图创build一个名为“摘要”的新表。 但是,如果“摘要”表已经存在,我得到一个错误。 如果“摘要”工作表已经存在,如何简单地添加一个名为“摘要X”的新工作表(其中X是1,或2,或3或…)。 也就是说,每次运行代码时,都会添加一个新的“Summary X”工作表,并且不会出错。 在这种情况下,如果代码第二次运行,将会有摘要和摘要1选项卡等等…. 这里是代码: Sub SearchFolders() 'UpdatebySUPERtoolsforExcel2016 Dim xFso As Object Dim xFld As Object Dim xStrSearch As String Dim xStrPath As String Dim xStrFile As String Dim xOut As Worksheet Dim xWb As Workbook Dim xWk As Worksheet Dim xRow As Long Dim xFound As Range Dim xStrAddress As String Dim […]

使用VBScript编辑Excel文件,但编辑花费太长时间才能完成

/ *我之所以用vb脚本来编辑excel文件,是因为excel文件一直是不同的,但是格式是一样的,用户也不想在他们的工作簿上保存VBAmacros。 我从第3列中获取值,并将这些值添加到第9列的末尾。 * / Set xlApp=CreateObject("Excel.Application") Set xlBook=xlApp.Workbooks.Open("filepath", 0, true) xlApp.visible=true Set xlSheet=xlBook.Worksheets("Proposal Spreadsheet") row=xlSheet.UsedRange.Rows.Count col=xlSheet.UsedRange.Columns.Count dim i For i=15 to xlSheet.UsedRange.Rows.Count cell=xlSheet.Cells(i,3).Value celli=xlSheet.Cells(i,9).Value+"("+cell+")" //I am combining column 3 with column 9 xlSheet.Cells(i,9).Value=celli Next xlBook.Save xlApp.Run "Submit_To_iDesk" xlBook.Close xlApp.Quit Set xlApp=Nothing Set xlBook=Nothing WScript.Quit

如何从VBscript / VBA数组中删除重复的元素在Excel中的下拉框中使用

我发现很多文章靠近我的,但不是我所期待的。 我正在使用IBM个人通信模拟器收集患者历史数据。 患者病史可能有几页声明,所以稍后在程序中使用的服务代码需要收集并保存在一个数组中。 一旦重复被删除,其余的代码将被存储在一个下拉框中。 ' Copies entire current history screen MHIScreen = objUNET.autECLPS.GetText(3, 1, 1680) ' Location of the place of service code header POSLoc = InStr(MHIScreen, "PS SVC") ' Location of service code ServLoc = POSLoc + 3 ' Used for array index j = 1 Row = 4 Do Serv(j) = Mid(MHIScreen, ServLoc, […]