Меню

Ошибка компиляции microsoft vbscript 800a0400 предполагается наличие инструкции

Troubleshooting Code 800A0400 – Expected Statement

Perhaps instead of ‘Expected Statement’, ‘missing character’ would be a better error message.  I have noticed with error 800A0400 how often the problem is at the beginning or the end of the line mentioned in the error message.

Introduction to Code 800A0400

Error code 800A0400 is a generic message when you execute a VBScript.  A wild guess, you have missed a command at the beginning of a line.Code 800A0400 Expected Statement VBscript error

The Symptoms You Get

The script does not execute as you had hoped.  Instead you get a message box like this picture:

The Cause of Error 800A0400

Your VBScript contain is missing a statement.  This is a difficult error to track down.  However, the good news is that I have three examples.  Most likely you have placed a statement, which is not appropriate for the logic of your script.  For example, extra brackets, or missing command. 

Note: the clue ‘Source: Microsoft VBScript compilation error’.  My point is that ‘compilation error’ and not a ‘runtime error’, means this is a syntax error in your script.

The Solution for Error: Expected statement

The Windows Scripting Host gives us two useful clues, firstly, look on Line: 10, do count any remark or empty lines.  Secondly, the Char: number 1, is useful in tracing the error.  In this case there is something wrong with the Select statement.

The line number, as is so often the case, is crucial to solving this error.  The problem is that the whole line is gibberish to the VBScript engine.  So take another look at each word, punctuation and see if you can spot a simple error.

  ‡

Example 1 of Error code: 800A0400

Missing underscore at the end of the line 7:

‘ WSHname.vbs
‘ Sample VBScript to check WSH Version
‘ Author Guy Thomas https://computerperformance.co.uk/
‘ Version 2.3 – September 2010
‘ ——————————————————-
On Error Resume Next
WScript.Echo «WSH Version: » & WScript.Version & » » & WScript.BuildVersion
& vbcr & «File name: » WScript.ScriptName
WScript.Quit

Solution

Missing underscore at the end of the line:

WScript.Echo «WSH Version: » & WScript.Version & » » & _

‘ WSHname.vbs
‘ Sample VBScript to check WSH Version
‘ Author Guy Thomas https://computerperformance.co.uk/
‘ Version 2.3 – September 2010
‘ ——————————————————-
On Error Resume Next
WScript.Echo «WSH Version: » & WScript.Version & » » & _ WScript.BuildVersion
& vbcr & «File name: » WScript.ScriptName
WScript.Quit

Guy Recommends:  A Free Trial of the Network Performance Monitor (NPM)Review of Orion NPM v11.5 v11.5

SolarWinds’ Orion performance monitor will help you discover what’s happening on your network.  This utility will also guide you through troubleshooting; the dashboard will indicate whether the root cause is a broken link, faulty equipment or resource overload.

What I like best is the way NPM suggests solutions to network problems.  Its also has the ability to monitor the health of individual VMware virtual machines.  If you are interested in troubleshooting, and creating network maps, then I recommend that you try NPM now.

Download a free trial of Solarwinds’ Network Performance Monitor

Example 2 of 800A0400

Error on Line 4.

Talk about stupid errors, there is no ‘ apostrophe to Rem out that line of dashes.

Actual

————————

Should be:

 ‘   —————————–

‘The script is below, and the pclist.txt contain only 2 line:
‘ mainsrv
‘ computer1
——————————————————–
Const ForReading = 1
Set objDictionary = CreateObject(«Scripting.Dictionary»)
Set objFSO = CreateObject(«Scripting.FileSystemObject»)
Set objTextFile = objFSO.OpenTextFile _
(«e:scriptspclist.txt», ForReading)
i = 0
Do Until objTextFile.AtEndOfStream
strNextLine = objTextFile.Readline
objDictionary.Add i, strNextLine
i = i + 1
Loop
For Each objItem in objDictionary
StrComputer = objDictionary.Item(objItem)
Set objWMIService = GetObject(«winmgmts:» _
& «{impersonationLevel=impersonate}!\» & strComputer& «rootcimv2»)
Set colServices = objWMIService.ExecQuery _
(«SELECT * FROM Win32_Service»)
Wscript.Echo strComputer, colServices.Count
Next

Example 3 of 800A0400  (Code available)

I just plain missed command, for example no ‘Set’.

Problem

«Error» ObjNetwork = CreateObject(«Wscript.Network»)

Correction

Set ObjNetwork = CreateObject(«Wscript.Network»)

Engineer's Toolset v10Guy Recommends: SolarWinds Engineer’s Toolset v10

This Engineer’s Toolset v10 provides a comprehensive console of 50 utilities for troubleshooting computer problems.  Guy says it helps me monitor what’s occurring on the network, and each tool teaches me more about how the underlying system operates.

There are so many good gadgets; it’s like having free rein of a sweetshop.  Thankfully the utilities are displayed logically: monitoring, network discovery, diagnostic, and Cisco tools.  Try the SolarWinds Engineer’s Toolset now!

Download your fully functional trial copy of the Engineer’s Toolset v10

Example 4 – No need for End If

The 800A0400 error message in VBScript often appears when the user adds a «End» statement when there is no need for one. For example, in this script, the user puts «End If», when there is no If statement to end.

MsgBox «Click OK to continue»
Input = InputBox(«Type your name»)
End If

There was no need for the user to put «End If», so the script host says that the user needs to put an ‘If’ statement, but wouldn’t it make much more sense if it told the user to delete the ‘End If’ statement?

This example was kindly sent in by Alex Jones.

Select Case Example of Error Code 800A0400

n_Num = 3

Select Case n_Num
Case n_Num 1
wscript.echo 1
Case 2
wscript.echo 2
Case 3
wscript.echo 3
End Case

Solutions:
Should be Case 1 (Not Case n_Num 1)
Should be End Select (Not End Case)

Kindly sent in by Bradley Harris.

See More Windows Update Error Codes 8004 Series

• Error 800A101A8 Object Required   •Error 800A0046   •Error 800A10AD   •Error 800A000D

• Error 80048820   •Error 800A0401   •Review of SolarWinds Permissions Monitor

• Error 80040E14   • Error 800A03EA   • Error 800A0408   • Error 800A03EE

If you like this page then please share it with your friends


Problem

Microsoft VBScript compilation error ‘800a0400’Expected statement/idmws/Do

Resolving The Problem

Microsoft VBScript compilation error ‘800a0400’
Expected statement
/idmws/DocView.asp, line 179
<!— #INCLUDE FILE=»IncAsps/eFormsDocView.asp» —> To «fix» the problem, simply put an apostrophe in front of the line that reads:
<!— #INCLUDE FILE=»IncAsps/eFormsDocView.asp» —>
The modified section of code will look like:
‘ Start of Panagon eForms integration:
‘ Panagon eForms — 4.2.1.1046
‘<!— #INCLUDE FILE=»IncAsps/eFormsDocView.asp» —>
‘ End Panagon eForms integration

Then, simply save the modified docview.asp page and make sure notepad doesn’t append a .txt extension on the file.

[{«Product»:{«code»:»SS5USE»,»label»:»FileNet IDM Desktop/WEB Services/Open Client»},»Business Unit»:{«code»:»BU053″,»label»:»Cloud & Data Platform»},»Component»:»IDM Desktop»,»Platform»:[{«code»:»PF025″,»label»:»Platform Independent»}],»Version»:»3.X»,»Edition»:»»,»Line of Business»:{«code»:»LOB45″,»label»:»Automation»}}]

Historical Number

10003840

Product Synonym

IDM WEB/OPEN CLIENT

Устраняем ошибку Windows Script Host

Исправляем ошибку Windows Script Host

Сразу стоит сказать о том, что если вы писали свой скрипт и при его запуске получили ошибку, то необходимо искать проблемы в коде, а не в системном компоненте. Например, вот такое диалоговое окно говорит именно об этом:

Такая же ситуация может возникнуть и в том случае, когда в коде имеется ссылка на другой скрипт, путь к которому прописан неверно либо данный файл вовсе отсутствует на компьютере.

Далее мы поговорим о тех моментах, когда при старте Windows или запуске программ, например, Блокнота или Калькулятора, а также других приложений, использующих системные ресурсы, появляется стандартная ошибка Windows Script Host. Иногда подобных окон может появиться сразу несколько. Случается такое после обновления операционной системы, которое может пройти как в штатном режиме, так и со сбоями.

Причины такого поведения ОС следующие:

  • Неверно выставленное системное время.
  • Сбой в работе службы обновлений.
  • Некорректная установка очередного апдейта.
  • Нелицензионная сборка «винды».

Вариант 1: Системное время

Многие пользователи думают, что системное время, которое показывается в области уведомлений, существует только для удобства. Это не совсем так. Некоторые программы, обращающиеся к серверам разработчиков или к иным ресурсам, могут работать некорректно или вовсе отказаться функционировать по причине расхождений в дате и времени. Это же касается и Windows с ее серверами обновления. В том случае, если будет расхождение в вашем системном времени и времени сервера, то могут наблюдаться неполадки с апдейтами, поэтому на это стоит обратить внимание в первую очередь.

    Нажимаем на часы в правом нижнем углу экрана и переходим по ссылке, указанной на скриншоте.


Далее идем на вкладку «Время по интернету» и жмем на кнопку изменения параметров. Обратите внимание, что ваша учетная запись должна обладать правами администратора.


В окне настроек устанавливаем галку в указанный на изображении чекбокс, затем в выпадающем списке «Сервер» выбираем time.windows.com и нажимаем «Обновить сейчас».


Если все пройдет успешно, то появится соответствующая надпись. В случае ошибки с превышением времени ожидания просто нажимаем кнопку обновления еще раз.

Теперь ваше системное время будет регулярно синхронизироваться с сервером времени Майкрософт и расхождения не будет.

Вариант 2: Служба обновлений

Windows – это очень сложная система, с множеством одновременно протекающих процессов, и некоторые из них могут повлиять на работу службы, отвечающей за обновление. Высокое потребление ресурсов, различные сбои и занятость компонентов, помогающих апдейту, «заставляют» службу совершать бесконечные попытки выполнить свою работу. Сам сервис также может сбоить. Выход здесь один: отключить его, а затем перезагрузить компьютер.

    Вызываем строку «Выполнить» сочетанием клавиш Win+R и в поле с названием «Открыть» пишем команду, которая позволит получить доступ к соответствующей оснастке.


В списке находим «Центр обновления», кликаем ПКМ и выбираем пункт «Свойства».


В открывшемся окне жмем кнопку «Остановить», а затем ОК.


После перезагрузки служба должна запуститься автоматически. Стоит проверить, так ли это и, если она все еще остановлена, включить ее тем же способом.

Если после выполненных действий ошибки продолжают появляться, то необходимо поработать с уже установленными обновлениями.

Вариант 3: Некорректно установленные обновления

Данный вариант подразумевает удаление тех обновлений, после установки которых начались сбои в Windows Script Host. Сделать это можно как вручную, так и с помощью утилиты восстановления системы. В обоих случаях необходимо вспомнить, когда «посыпались» ошибки, то есть после какой даты.

    Идем в «Панель управления» и находим апплет с названием «Программы и компоненты».


Далее переходим по ссылке, отвечающей за просмотр обновлений.


Сортируем список по дате установки, кликнув по шапке последней колонки с надписью «Установлено».


Выбираем нужное обновление, кликаем ПКМ и выбираем «Удалить». Также поступаем с остальными позициями, помня про дату.

  • Перезагружаем компьютер.
    1. Для перехода к данной утилите кликаем правой кнопкой мыши по значку компьютера на рабочем столе и выбираем пункт «Свойства».


    Далее переходим к «Защите системы».


    Нажимаем кнопку «Восстановление».


    В открывшемся окне утилиты жмем «Далее».


    Ставим галку, отвечающую за показ дополнительных точек восстановления. Необходимые нам поинты будут называться «Автоматически созданная точка», тип – «Система». Из них необходимо выбрать ту, которая соответствует дате последнего обновления (или того, после которого начались сбои).


    Жмем «Далее», ждем, пока система предложит перезагрузиться и выполнит действия по «откату» к предыдущему состоянию.


    Обратите внимание, что в этом случае могут быть удалены и те программы и драйвера, которые были установлены вами после этой даты. Узнать, произойдет ли это, можно нажав кнопку «Поиск затрагиваемых программ».

    Читайте также: Как восстановить систему Windows XP, Windows 8, Windows 10

    Вариант 4: Нелицензионная Windows

    Пиратские сборки «винды» хороши лишь тем, что они совершенно бесплатны. В остальном же такие дистрибутивы могут принести массу проблем, в частности, некорректную работу необходимых компонентов. В этом случае рекомендации, приведенные выше, могут не сработать, так как файлы в скачанном образе уже были сбойными. Здесь можно только посоветовать поискать другой дистрибутив, но лучше воспользоваться лицензионной копией Windows.

    Заключение

    Решения проблемы с Windows Script Host довольно просты, и с ними справится даже начинающий пользователь. Причина здесь ровно одна: некорректная работа инструмента обновления системы. В случае с пиратскими дистрибутивами можно дать следующий совет: пользуйтесь только лицензионными продуктами. И да, правильно пишите ваши скрипты.

    Источник

    Как исправить ошибку Windows script host

    Windows script host довольно редкая системная ошибка, которая появляется в Windows 7, 8 или 10 версиях независимо от того, лицензионные они или нет. Путь указанный в ней говорит о невозможности запуска конкретного файла. Чаще всего это возникает в следствии появления вирусов.

    В статье я рассмотрю причины появления и как можно устранить Windows script host ошибку с кодом 80070002 когда не удается найти указанный файл.

    Причины появления ошибки

    Чаще всего причиной являются сбои при установке приложений, программ и вирусы. Возможно смогла загрузиться только часть необходимых данных и поэтому системе не удаётся найти указанный файл даже если он присутствует по указанному в ошибке адресу. Это связанно с неверной записью реестра.

    Windows script host — это компонент для запуска исполняемых сценариев на различных языках. В сценарии может быть любая задача (например, включение программы).

    Так же поспособствовать реализации ошибки мог и сам пользователь, который всячески оптимизировал систему вручную или с помощью стороннего софта, что не всегда может положительно повлиять на её состояние из-за вирусов. Не исключено, что виной этому может быть и антивирус.

    Как исправить ошибку (код 80070002)

    Всё зависит от того куда указывает ошибка. Однако решения всегда почти одинаковы. Вот несколько примеров на, что может указывать Windows script host:

    1. Nvideo_driver.js
    2. WindowsUpdateDrivers.vbs
    3. Launchall.js

    Обратите внимание, что это может быть любой файл с расширением vbs и js (редко с другим).

    После каждой инструкции требуется перезагрузка, чтобы применить изменения.

    Устранение неполадок в реестре

    Устранение нужно начать с исправления реестра. Скачайте программу Ccleaner и установите. Зайдите во вкладку реестра и нажмите на «Поиск проблем».

    Исправьте все найденные неполадки и повторите процедуру до тех пор, пока они не будут обнаружены.

    Устранение ссылки на запуск вируса

    Если при включении компьютера появляется Windows script host с указанием пути на Nvideo_driver.js, Launchall.js или другие документы с подобным расширением на конце, то это значит, что сам вирус (то есть указанные выше файлы) удалены, но обращение на него остаётся.

    Скорее всего исправление реестра должно было помочь в этом, но если это не так, то первым делом проведите полную проверку компьютера на вирусы и удалите их. Как это сделать я уже писал в статье про постоянное появление рекламы в браузере. Обычно такие вирусы создаются именно с этой целью.

    Проверьте и очистите автозагрузку удалив записи об автоматическом запуске там. Либо можно перейти вручную по указанному в ошибке адресу и провести удаление самостоятельно.

    Откройте строку выполнения через меню Пуск или клавишами Win+R и введите команду:

    Проблема с обновлением

    Если Windows script host указывает на WindowsUpdateDrivers, то в этом случае может помочь очистка папки где хранятся временные данные обновлений. Но сначала отключите соответствующую службу.

    Снова введите в строку выполнения команду, но уже другую:

    Найдите «Центр обновления Windows» и отключите его через контекстное меню (правой кнопкой мыши) в свойствах.

    Перейдите в локальный диск C (там где установлена ОС) >> Windows >> SoftwareDistribution >> DataStore и удалите всё, что там расположено. Затем включите службу и попробуйте обновиться.

    Следующим шагом будет удаление недавних обновлений. Они часто могут быть причиной ошибки особенно на пиратских версиях Windows.

    Войдите в панель управления через меню Пуск >> Программы и компоненты >> Просмотр установленных обновлений. Кликните по столбцу «Установлено» для сортировки по дате и удаляйте строки по одной до тех пор, пока ошибка 80070002 не пропадёт.

    Неправильное время

    Важно установить правильную дату на компьютере иначе будет несоответствие со временем на авторское право различных утилит и программ. Оно ограниченно во времени и сравнивается со специальным сервером.

    На рабочем столе нажмите на время в правом нижнем углу и перейдите в настройки.

    Поставьте синхронизацию с официальным сервером компании Microsoft, чтобы избежать различных конфликтов или вручную укажите верную на текущий момент дату.

    Источник

    Hello,

    I am attempting to do a send an email within an asp page from a submit button however I continue to get Microsoft VBScript compilation (0x800A0400) Expected statement.  Any assistance….

    Here is the code. — Its an ASP page

    <%

    Rcpt = zdavidson@testing.com

    ‘Rcpt = Chr(34) & Requestor_FName & Chr(34) & Requestor_LName & Chr(34) & «<» & Email & «>»

    Set objMessage = CreateObject(«CDO.Message»)

    objMessage.Subject = «Access Request»

    objMessage.From = «»»Reporting»

     objMessage.To = Rcpt

    objMessage.CC = «zdavidson@testing.com »

    objMessage.TextBody = «Please review registation request for testing.»

    objMessage.Configuration.Fields.Item _

    («http://schemas.microsoft.com/cdo/configuration/sendusing») = 2

    ‘Name or IP of Remote SMTP Server objMessage.Configuration.Fields.Item _ («http://schemas.microsoft.com/cdo/configuration/smtpserver») = «123.555.26.4»

    ‘Server port (typically 25) objMessage.Configuration.Fields.Item _ («http://schemas.microsoft.com/cdo/configuration/smtpserverport») = 25

    objMessage.Configuration.Fields.Update ‘==End remote SMTP server configuration section== objMessage.Send End Sub

    %>

    Not good in classic ASP. I need to add popUp when clicking on Delete or Recover (x and circled arrow). Here is ASP code without popUp:

    i = 0
    			while not rs.eof
    				i = i +1
    				'a.AccountID,a.Deleted,MSPdisabled,MSPppAccountID ,a.Name,a.Description,a.Notes,a.WebSite,at.AccountType
    					Dict.SetKey = "dataTableRow_" & i
    					arrValues = split(varValues,",")
    					j = 0
    					sDelete = "&nbsp;&nbsp;<a href=/portal3/#ajax-config/?rID=Deleted&ClientID=" & request.querystring("ClientID") & "&type=" & sType & "&Type2=" & varType2 & "&ID=" & rs(trim(varType2)) & varCabinetAction &  "&Action=Del"
    					'if varClientID <> "" then sDelete = sDelete & "&ClientID=" & varClientID
    					sDelete = sDelete & varRandomString & "><span class=""glyphicon glyphicon-remove"" title=""Delete"" id=""deleteItemFromFolder""></span></a>"
    					<%
    					^
    					response.write("")
    					%>
    					
    					sRecover = "&nbsp;<a href=/portal3/#ajax-config/?rID=Deleted&type=" & sType & "&Type2=" & varType2 & "&ID=" & rs(trim(varType2)) & "&Action=Recover"
    					if varClientID <> "" then sRecover = sRecover & "&ClientID=" & varClientID
    					sRecover = sRecover & varRandomString & "><span class=""glyphicon glyphicon-repeat"" title=""Recover""></span>"
    
    
    					Dict.SetField j, sDelete & sRecover
    					for each value in arrValues
    						j = j +1
    						'response.write value
    						Dict.SetField j,rs(value).value
    					next
    					Dict.Update 
    				rs.movenext
    			wend									
    
    			arrFields = split(langOptions&"," & varFields,",")
    			sFieldOptions = ""
    			for each aF in arrFields
    				if sFieldOptions <> "" then sFieldOptions = sFieldOptions & ","
    				sFieldOptions = sFieldOptions & "1"'always nowrap
    			next
    			arrFieldOptions = split(sFieldOptions,",")'wrap/not wrap
    			
    			response.write funDataTable(Dict,arrFields,arrFieldOptions,arrOptions)
    			'END DICTIONARY
    			Set Dict = Nothing
    			'######################################################################
    		else
    			response.write "<div class=""alert alert-info""><strong>"&langNONETOPURGERECOVER&"</strong></div>"
    		end if
    
    	end if

    I tried to add bootstrap coding. Here how it looks like injected:

    i = 0
    			while not rs.eof
    				i = i +1
    				'a.AccountID,a.Deleted,MSPdisabled,MSPppAccountID ,a.Name,a.Description,a.Notes,a.WebSite,at.AccountType
    					Dict.SetKey = "dataTableRow_" & i
    					arrValues = split(varValues,",")
    					j = 0
    					sDelete = "&nbsp;&nbsp;<a href=/portal3/#ajax-config/?rID=Deleted&ClientID=" & request.querystring("ClientID") & "&type=" & sType & "&Type2=" & varType2 & "&ID=" & rs(trim(varType2)) & varCabinetAction &  "&Action=Del"
    					'if varClientID <> "" then sDelete = sDelete & "&ClientID=" & varClientID
    					sDelete = sDelete & varRandomString & "><span class=""glyphicon glyphicon-remove"" title=""Delete"" id=""deleteItemFromFolder""></span></a>"
    					
    					sRecover = "&nbsp;<a href=/portal3/#ajax-config/?rID=Deleted&type=" & sType & "&Type2=" & varType2 & "&ID=" & rs(trim(varType2)) & "&Action=Recover"
    					if varClientID <> "" then sRecover = sRecover & "&ClientID=" & varClientID
    					sRecover = sRecover & varRandomString & "><span class=""glyphicon glyphicon-repeat"" title=""Recover""></span>"
    					
    					<%
    					response.write("
    					<div class="widget-body no-padding">
    		<div class="smart-form">
    			<footer>
    				<input id="feedbackForDeleteSettings" name=submit value="<%=langResetSettings%>" class="btn btn-primary btn-danger" type=submit data-toggle="modal" data-target="#resetChanges">
    				<input id="saveCustomTheme" name=submit value="<%=langUpdateAboveSettings%>" class="btn btn-primary" type=submit data-id="userCustomization">					
    				<div class="modal fade" id="submitChanges" tabindex="-1" role="dialog" aria-labelledby="submitChanges" aria-hidden="true">
    					<div class="modal-dialog" role="document">
    						<div class="modal-content">
    							<div class="modal-header">
    							<button type="button" class="close" data-dismiss="modal" aria-label="Close">
    								<span aria-hidden="true">&times;</span>
    							</button>
    							<h5 class="modal-title">You successfully updated the changes!</h5>  
    							</div>
    						</div>
    					</div>
    				</div>
    				<div class="modal fade" id="deleteItemFromFolder" tabindex="-1" role="dialog" aria-labelledby="deleteItemFromFolder" aria-hidden="true">
    					<div class="modal-dialog" role="document">
    						<div class="modal-content">
    							<div class="modal-header">
    								<button type="button" class="close" data-dismiss="modal" aria-label="Close">
    									<span aria-hidden="true">&times;</span>
    								</button>
    								<h5 class="modal-title">You successfully removed all custom changes.
    									</br>
    									Please, reload the page.
    								</h5>
    							</div>
    						</div>
    					</div>
    				</div>
    
    			
    			</footer>
    		</div>
    	</div>
    					")
    					%>
    
    
    
    					Dict.SetField j, sDelete & sRecover
    					for each value in arrValues
    						j = j +1
    						'response.write value
    						Dict.SetField j,rs(value).value
    					next
    					Dict.Update 
    				rs.movenext
    			wend									
    
    			arrFields = split(langOptions&"," & varFields,",")
    			sFieldOptions = ""
    			for each aF in arrFields
    				if sFieldOptions <> "" then sFieldOptions = sFieldOptions & ","
    				sFieldOptions = sFieldOptions & "1"'always nowrap
    			next
    			arrFieldOptions = split(sFieldOptions,",")'wrap/not wrap
    			
    			response.write funDataTable(Dict,arrFields,arrFieldOptions,arrOptions)
    			'END DICTIONARY
    			Set Dict = Nothing
    			'######################################################################
    		else
    			response.write "<div class=""alert alert-info""><strong>"&langNONETOPURGERECOVER&"</strong></div>"
    		end if
    
    	end if

    But all the time I get «Microsoft VBScript compilation error ‘800a0400’

    Expected statement

    /portal3/ajax-config/config.asp, line 9697

    <%
    ^
    «.
    I will be grateful for any help!

    mkop

    1 / 1 / 0

    Регистрация: 12.12.2013

    Сообщений: 33

    1

    VBS

    17.07.2015, 11:46. Показов 4249. Ответов 2

    Метки нет (Все метки)


    Приветствую. Есть макрос в Excel

    Visual Basic
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    ChDir "C:UserszzzDesktop"
    Workbooks.Open Filename:="C:UserszzzDesktop1.xlsx"
    Range("E7:L16").Select
    Selection.Copy
    ChDir "C:UserszzzDesktop"
    Workbooks.Open Filename:="C:UserszzzDesktop2.xlsx"
    Range("A23").Select
    ActiveSheet.Paste
    'ActiveWorkbook.Save'
    'ActiveWorkbook.Close'
    End Sub

    В excel отрабатывает нормально, если сохранить как VBS скрипт начинает ругаться WSH:

    Строка 2
    Символ 25
    Ошибка Предполагается наличие инструкции
    Код 800A0400
    Источник Ошибка компиляции Microsoft VBSscript

    Я так понял, что надо запускать скрипт как-то иначе?

    Добавлено через 47 минут
    кажется я понял что перепутал Visual Basic for Apllication со скриптами Windows Script Host….

    __________________
    Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



    0



    Ушел с CyberForum совсем!

    873 / 182 / 25

    Регистрация: 04.05.2011

    Сообщений: 1,020

    Записей в блоге: 110

    17.07.2015, 11:49

    2

    Лучший ответ Сообщение было отмечено mkop как решение

    Решение

    ну откуда VBS будет знать что такое Workbooks ? для экселя это родное понятие !
    нужно сначала объявить и создать переменную «приложение эксель», объявить и создать переменную «книга эксель» а уж потом с ними работать

    Добавлено через 54 секунды
    так и

    Цитата
    Сообщение от mkop
    Посмотреть сообщение

    кажется я понял что перепутал Visual Basic for Apllication со скриптами Windows Script Host….

    запускате свой код вба в его родной среде



    1



    Dmitrii

    2617 / 547 / 109

    Регистрация: 21.03.2012

    Сообщений: 1,051

    17.07.2015, 12:02

    3

    mkop, макрос в исходном виде никогда не будет работать как сценарий, хотя бы уже потому, что его тело всегда обрамлено парой операторов Sub/End Sub.
    Эти операторы в сценарии могут обрамлять только дополнительные процедуры. Основной же код сценария должен лежать вне этих операторов, например:

    Visual Basic
    1
    2
    3
    4
    5
    
    example
     
    Sub Example()
    MsgBox Now
    End Sub

    Кроме того, интерпретатор сценариев ничего «не знает» ни об операторе ChDir, ни об элементах объектной модели Excel.

    Начальный фрагмент вашего макроса, переделанного в сценарий, мог бы выглядеть так:

    Visual Basic
    1
    2
    3
    
    Set objExcel = CreateObject("Excel.Application")
    objExcel.Visible = True
    Set objWB = objExcel.Workbooks.Open("C:UserszzzDesktop1.xlsx")



    0



    IT_Exp

    Эксперт

    87844 / 49110 / 22898

    Регистрация: 17.06.2006

    Сообщений: 92,604

    17.07.2015, 12:02

    3

    I followed Martha’s suggestion here:
    if page is default then include if not default then
    And I am missing something, as I can’t get it to display the slider.

    Here is the slider code, and how I am using Martha’e suggestion.

    This is the slider (bootstrap carousel) code (to be integrated with Martha’s suggestion)

    <div class="jumbotron">
        <div class="container">
            <div class="row fz-slider-wrap">
                <div class="col-md-4 fz-slider-caption">
                    DFD Fioriere
                </div>
                <div class="col-md-8 fz-slider-image">
                    <div id="fz-gallery-slider" class="carousel slide" data-ride="carousel">
                        <!-- Indicators -->
                        <ol class="carousel-indicators">
                        <li data-target="#fz-gallery-slider" data-slide-to="0" class="active"></li>
                        <li data-target="#fz-gallery-slider" data-slide-to="1"></li>
                        <li data-target="#fz-gallery-slider" data-slide-to="2"></li>
    
                        </ol>
                        <!-- Wrapper for slides -->
                        <div class="carousel-inner">
                            <div class="item active">
                            <img class="fz-img-box" src="images/slider/03.jpg" alt="slider 1" />
                            </div>
                            <div class="item">
                            <img class="fz-img-box" src="images/slider/01.jpg" alt="slider 2" />
                            </div>
                            <div class="item">
                            <img class="fz-img-box" src="images//slider/06.jpg" alt="slider 3" />
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div><!-- .jumbotron -->
    

    This is what happens:
    If I put the above code inside

    <%
    Sub DisplaySlider()
    slider code
        %>
    <%
    End Sub
    %>
    

    I get this error when loading default.asp

    Microsoft VBScript compilation error ‘800a0400’

    Expected statement

    /afz_includes/jumbotron.asp, line 3

    If I wrap slider code in ‘ I get same error but line 4
    If I wrap slider code in » I get same error (line 3)
    I also tried to wrap each line of slider code with «, and chnaged the » of classes and ids to ‘, but keep getting th error.

    Here is what I put on the default.asp, and the other pages

    <!-- #include virtual="/afz_includes/slider.html" -->
    <%
    scriptname = Request.ServerVariables("Script_Name")
    If InStr(scriptname, "default.asp") > 0 Then
        DisplaySlider
    Else
        Response.Write "<div class='fz-v-spacer-top'></div>"
    End If
    %>
    

    I am not sure if it was a typo, anyhow I tried to save the slider both as html, and asp, but same error.

    I followed Martha’s suggestion here:
    if page is default then include if not default then
    And I am missing something, as I can’t get it to display the slider.

    Here is the slider code, and how I am using Martha’e suggestion.

    This is the slider (bootstrap carousel) code (to be integrated with Martha’s suggestion)

    <div class="jumbotron">
        <div class="container">
            <div class="row fz-slider-wrap">
                <div class="col-md-4 fz-slider-caption">
                    DFD Fioriere
                </div>
                <div class="col-md-8 fz-slider-image">
                    <div id="fz-gallery-slider" class="carousel slide" data-ride="carousel">
                        <!-- Indicators -->
                        <ol class="carousel-indicators">
                        <li data-target="#fz-gallery-slider" data-slide-to="0" class="active"></li>
                        <li data-target="#fz-gallery-slider" data-slide-to="1"></li>
                        <li data-target="#fz-gallery-slider" data-slide-to="2"></li>
    
                        </ol>
                        <!-- Wrapper for slides -->
                        <div class="carousel-inner">
                            <div class="item active">
                            <img class="fz-img-box" src="images/slider/03.jpg" alt="slider 1" />
                            </div>
                            <div class="item">
                            <img class="fz-img-box" src="images/slider/01.jpg" alt="slider 2" />
                            </div>
                            <div class="item">
                            <img class="fz-img-box" src="images//slider/06.jpg" alt="slider 3" />
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div><!-- .jumbotron -->
    

    This is what happens:
    If I put the above code inside

    <%
    Sub DisplaySlider()
    slider code
        %>
    <%
    End Sub
    %>
    

    I get this error when loading default.asp

    Microsoft VBScript compilation error ‘800a0400’

    Expected statement

    /afz_includes/jumbotron.asp, line 3

    If I wrap slider code in ‘ I get same error but line 4
    If I wrap slider code in » I get same error (line 3)
    I also tried to wrap each line of slider code with «, and chnaged the » of classes and ids to ‘, but keep getting th error.

    Here is what I put on the default.asp, and the other pages

    <!-- #include virtual="/afz_includes/slider.html" -->
    <%
    scriptname = Request.ServerVariables("Script_Name")
    If InStr(scriptname, "default.asp") > 0 Then
        DisplaySlider
    Else
        Response.Write "<div class='fz-v-spacer-top'></div>"
    End If
    %>
    

    I am not sure if it was a typo, anyhow I tried to save the slider both as html, and asp, but same error.

    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии

    А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Ошибка колодок пассат б6
  • Ошибка кода hcnetsdk dll 153 пользователь заблокирован