I want to insert an if statement in a cell through vba which includes double quotes.
Here is my code:
Worksheets("Sheet1").Range("A1").Value = "=IF(Sheet1!B1=0,"",Sheet1!B1)"
Due to double quotes I am having issues with inserting the string. How do I handle double quotes?
asked Jan 26, 2012 at 20:18
user793468user793468
4,87823 gold badges80 silver badges126 bronze badges
2
I find the easiest way is to double up on the quotes to handle a quote.
Worksheets("Sheet1").Range("A1").Formula = "IF(Sheet1!A1=0,"""",Sheet1!A1)"
Some people like to use CHR(34)*:
Worksheets("Sheet1").Range("A1").Formula = "IF(Sheet1!A1=0," & CHR(34) & CHR(34) & ",Sheet1!A1)"
*Note: CHAR() is used as an Excel cell formula, e.g. writing «=CHAR(34)» in a cell, but for VBA code you use the CHR() function.
answered Jan 26, 2012 at 20:21
3
Another work-around is to construct a string with a temporary substitute character. Then you can use REPLACE to change each temp character to the double quote. I use tilde as the temporary substitute character.
Here is an example from a project I have been working on. This is a little utility routine to repair a very complicated formula if/when the cell gets stepped on accidentally. It is a difficult formula to enter into a cell, but this little utility fixes it instantly.
Sub RepairFormula()
Dim FormulaString As String
FormulaString = "=MID(CELL(~filename~,$A$1),FIND(~[~,CELL(~filename~,$A$1))+1,FIND(~]~, CELL(~filename~,$A$1))-FIND(~[~,CELL(~filename~,$A$1))-1)"
FormulaString = Replace(FormulaString, Chr(126), Chr(34)) 'this replaces every instance of the tilde with a double quote.
Range("WorkbookFileName").Formula = FormulaString
This is really just a simple programming trick, but it makes entering the formula in your VBA code pretty easy.
answered Feb 24, 2017 at 19:11
D ZellerD Zeller
1811 silver badge2 bronze badges
All double quotes inside double quotes which suround the string must be changed doubled. As example I had one of json file strings : «delivery»: «Standard»,
In Vba Editor I changed it into «»»delivery»»: «»Standard»»,» and everythig works correctly. If you have to insert a lot of similar strings, my proposal first, insert them all between «» , then with VBA editor replace » inside into «». If you will do mistake, VBA editor shows this line in red and you will correct this error.
answered Jul 19, 2016 at 11:08
I have written a small routine which copies formula from a cell to clipboard which one can easily paste in Visual Basic Editor.
Public Sub CopyExcelFormulaInVBAFormat()
Dim strFormula As String
Dim objDataObj As Object
'Check that single cell is selected!
If Selection.Cells.Count > 1 Then
MsgBox "Select single cell only!", vbCritical
Exit Sub
End If
'Check if we are not on a blank cell!
If Len(ActiveCell.Formula) = 0 Then
MsgBox "No Formula To Copy!", vbCritical
Exit Sub
End If
'Add quotes as required in VBE
strFormula = Chr(34) & Replace(ActiveCell.Formula, Chr(34), Chr(34) & Chr(34)) & Chr(34)
'This is ClsID of MSFORMS Data Object
Set objDataObj = CreateObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
objDataObj.SetText strFormula, 1
objDataObj.PutInClipboard
MsgBox "VBA Format formula copied to Clipboard!", vbInformation
Set objDataObj = Nothing
End Sub
It is originally posted on Chandoo.org forums’ Vault Section.
answered Oct 20, 2017 at 4:53
In case the comment by gicalle ever dies:
I prefer creating a global variable:
Public Const vbDoubleQuote As String = """" 'represents 1 double quote (") Public Const vbSingleQuote As String = "'" 'represents 1 single quote (')
and using it like so:
Shell "explorer.exe " & vbDoubleQuote & sPath & vbDoubleQuote, vbNormalFocus
Двойные кавычки и кавычки «ёлочки» в коде VBA Excel. Коды символов кавычек и ввод кавычек «ёлочек» в редакторе VBA Excel с клавиатуры. Примеры.
Двойные кавычки
Двойные прямые кавычки ("Весна"
) обычно называют просто «двойные кавычки» или «прямые кавычки», так как в текстах они встречаются намного чаще одинарных прямых кавычек ('Весна'
).
В VBA Excel прямые кавычки являются специальными символами, обозначающими текст:
x = «Магазин Весна открыт» |
Переменной x
присваивается строка (текст): Магазин Весна открыт
.
Если мы хотим отобразить эту строку со словом "Весна"
в двойных кавычках, необходимо слово в прямых кавычках экранировать еще одной парой двойных кавычек (""Весна""
) или использовать функцию Chr, возвращающую символ по его числовому коду. Числовой код прямых кавычек — 34.
Пример добавления двойных прямых кавычек внутри текста из кода VBA Excel:
Sub Primer1() Dim x As String x = «Магазин ««Весна»» открыт» Debug.Print x ‘Магазин «Весна» открыт x = «Магазин « & Chr(34) & «Весна» & Chr(34) & » открыт» Debug.Print x ‘Магазин «Весна» открыт End Sub |
Кавычки «ёлочки»
Двойные кавычки «ёлочки» обычно называют просто кавычки «ёлочки»
, так как одинарные ‹ёлочки› встречаются очень редко.
Двойные кавычки «ёлочки» не являются спецсимволами, поэтому в строках внутри процедур VBA Excel их можно использовать не только через функцию Chr по числовому коду символа, но и ввести с клавиатуры.
Ввод «ёлочек» с клавиатуры в редакторе VBA Excel осуществляется также с помощью числовых кодов символов открывающей и закрывающей кавычек:
- числовой код открывающей кавычки (
«
) — 171; - числовой код закрывающей кавычки (
»
) — 187.
Сочетания клавиш для ввода «ёлочек» с клавиатуры:
- Alt+0171 — ввод открывающей кавычки (
«
); - Alt+0187 — ввод закрывающей кавычки (
»
).
Обратите внимание, что для ввода «ёлочек» с клавиатуры используется левая клавиша Alt, а числовой код набирается на цифровом блоке справа.
Пример добавления двойных кавычек «ёлочки» внутри текста из кода VBA Excel:
Sub Primer2() Dim x As String x = «Магазин «Весна» открыт» Debug.Print x ‘Магазин «Весна» открыт x = «Магазин « & Chr(171) & «Весна» & Chr(187) & » открыт» Debug.Print x ‘Магазин «Весна» открыт End Sub |
Чтобы в строку VBA записать символ кавычек, приходится использовать код символа кавычек Chr(34)
или дублировать символ кавычек. В итоге получается громоздкий код вида
'запись формулы в ячейку Excel c.FormulaLocal = "=ГИПЕРССЫЛКА(""[C:Книга.xls]"")" 'или c.FormulaLocal="=ГИПЕРССЫЛКА(" & Chr(34) & "[C:w.xls]" & Chr(34) & ")"
Для заключения строк в кавычки можно использовать функцию
'заключает текст в двойные кавычки (способ 1) Public Function Quotes(text As String) As String Quotes = Chr(34) & text & Chr(34) End Function 'заключает текст в двойные кавычки (способ 2) Public Function Quotes(text As String) As String Quotes = """" & text & """" End Function ... c.FormulaLocal = "=ГИПЕРССЫЛКА(" & Quotes("[C:Книга.xls]") & ")"
Запись опубликована в рубрике программирование с метками VBA. Добавьте в закладки постоянную ссылку.
Заключаем строку VBA в кавычки
Чтобы в строку VBA записать символ кавычек, приходится использовать код символа кавычек Chr(34) или дублировать символ кавычек. В итоге получается громоздкий код вида
‘запись формулы в ячейку Excel
c.FormulaLocal = «=ГИПЕРССЫЛКА(«»[C:Книга.xls]»»)»
‘или
c.FormulaLocal=»=ГИПЕРССЫЛКА(» & Chr(34) & «[C:w.xls]» & Chr(34) & «)»
Для заключения строк в кавычки можно использовать функцию
‘заключает текст в двойные кавычки (способ 1)
Public Function Quotes(text As String) As String
Quotes = Chr(34) & text & Chr(34)
End Function
‘заключает текст в двойные кавычки (способ 2)
Public Function Quotes(text As String) As String
Quotes = «»»» & text & «»»»
End Function
…
c.FormulaLocal = «=ГИПЕРССЫЛКА(» & Quotes(«[C:Книга.xls]») & «)»
#excel #vba #formula
Вопрос:
Я хочу вставить оператор if в ячейку через vba, который включает двойные кавычки.
Вот мой код:
Worksheets("Sheet1").Range("A1").Value = "=IF(Sheet1!B1=0,"",Sheet1!B1)"
Из-за двойных кавычек у меня возникли проблемы с вставкой строки. Как мне обрабатывать двойные кавычки?
Комментарии:
1. Не прямой ответ, но уверены ли вы в этой строке? Это круговая ссылка, и она не начинается со знака равенства.
2. @JimmyPena Я думаю, что это, вероятно, просто пример кода. Я отправляю правку, несмотря ни на что
Ответ №1:
Я нахожу, что самый простой способ-удвоить котировки, чтобы обработать котировку.
Worksheets("Sheet1").Range("A1").Formula = "IF(Sheet1!A1=0,"""",Sheet1!A1)"
Некоторым людям нравится использовать CHR(34)*:
Worksheets("Sheet1").Range("A1").Formula = "IF(Sheet1!A1=0," amp; CHR(34) amp; CHR(34) amp; ",Sheet1!A1)"
*Примечание: CHAR() используется в качестве формулы ячейки Excel, например, для записи «=CHAR(34)» в ячейке, но для кода VBA вы используете функцию CHR ().
Комментарии:
1. Я предпочитаю создавать глобальную переменную: Public Const vbDoubleQuote В виде строки = «»»» ‘представляет 1 двойную кавычку («) Public Const vbSingleQuote в виде строки = «»»» представляет 1 одинарную кавычку («) и использовать ее следующим образом: Оболочка «explorer.exe» amp; vbDoubleQuote amp; sPath amp; vbDoubleQuote, vbNormalFocus
2. ответ @gicalle действительно аккуратен, он сводит всю путаницу «сколько одинарных и двойных кавычек» к одному определению, где это можно задокументировать
3. Я использую множество глобальных определений во всех своих проектах VBA (когда у меня нет выбора в использовании чего-то другого, кроме VBA!!), Которые определяют все общие вещи, такие как возврат каретки, двойные кавычки и т. Д.
Ответ №2:
Другой обходной путь заключается в построении строки с временным символом-заменителем. Затем вы можете использовать REPLACE для изменения каждого временного символа на двойные кавычки. Я использую тильду в качестве временного заменяющего символа.
Вот пример из проекта, над которым я работал. Это небольшая утилита для восстановления очень сложной формулы, если/когда на ячейку случайно наступят. Это сложная формула для ввода в ячейку, но эта небольшая утилита мгновенно исправляет ее.
Sub RepairFormula()
Dim FormulaString As String
FormulaString = "=MID(CELL(~filename~,$A$1),FIND(~[~,CELL(~filename~,$A$1)) 1,FIND(~]~, CELL(~filename~,$A$1))-FIND(~[~,CELL(~filename~,$A$1))-1)"
FormulaString = Replace(FormulaString, Chr(126), Chr(34)) 'this replaces every instance of the tilde with a double quote.
Range("WorkbookFileName").Formula = FormulaString
Это действительно простой трюк программирования, но он делает ввод формулы в ваш код VBA довольно простым.
Ответ №3:
Все двойные кавычки внутри двойных кавычек, которые окружают строку, должны быть изменены вдвое. В качестве примера у меня была одна из строк файла json : «доставка»: «Стандартная», В редакторе Vba я изменил ее на «»»доставка»»: «»Стандартная»», и все работает правильно. Если вам нужно вставить много похожих строк, мое предложение сначала вставить их все между»», а затем с помощью редактора VBA заменить » внутри «на»». Если вы сделаете ошибку, редактор VBA покажет эту строку красным цветом, и вы исправите эту ошибку.
Ответ №4:
Я написал небольшую процедуру, которая копирует формулу из ячейки в буфер обмена, который можно легко вставить в редактор Visual Basic.
Public Sub CopyExcelFormulaInVBAFormat()
Dim strFormula As String
Dim objDataObj As Object
'Check that single cell is selected!
If Selection.Cells.Count > 1 Then
MsgBox "Select single cell only!", vbCritical
Exit Sub
End If
'Check if we are not on a blank cell!
If Len(ActiveCell.Formula) = 0 Then
MsgBox "No Formula To Copy!", vbCritical
Exit Sub
End If
'Add quotes as required in VBE
strFormula = Chr(34) amp; Replace(ActiveCell.Formula, Chr(34), Chr(34) amp; Chr(34)) amp; Chr(34)
'This is ClsID of MSFORMS Data Object
Set objDataObj = CreateObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
objDataObj.SetText strFormula, 1
objDataObj.PutInClipboard
MsgBox "VBA Format formula copied to Clipboard!", vbInformation
Set objDataObj = Nothing
End Sub
Первоначально он был опубликован на Chandoo.org Раздел Хранилища форумов.
В этой статье разберем работу со строками в VBA на примерах функций InStr, LCASE, UCase, Left, Right, Mid, LTrim, RTrim, Trim, Len, Replace, Space, StrComp, String, StrReverse.
Строки — это последовательность символов, которая может состоять либо из алфавитов, цифр, специальных символов, либо из всех них. Переменная называется строкой, если она заключена в двойные кавычки «».
Содержание:
- Синтаксис
- Примеры
- Строковые функции
- Название функции и описание
- InStr
- Синтаксис
- Параметр Описание
- пример
- Синтаксис
- Параметр Описание
- пример
- LCASE
- Синтаксис
- пример
- UCase
- Синтаксис
- пример
- Left
- Синтаксис
- Параметр Описание
- пример
- Right
- Синтаксис
- Параметр Описание
- пример
- Mid
- Синтаксис
- Параметр Описание
- LTrim
- Синтаксис
- пример
- RTrim
- Синтаксис
- пример
- Trim
- Синтаксис
- пример
- Len
- Синтаксис
- пример
- Replace
- Синтаксис
- Параметр Описание
- пример
- Space
- Синтаксис
- Параметр Описание
- пример
- StrComp
- Синтаксис
- Параметр Описание
- пример
- String
- Синтаксис
- Параметр Описание
- пример
- StrReverse
- Синтаксис
- пример
Синтаксис
variablename = "string"
Примеры
str1 = "string" ' Only Alphabets str2 = "132.45" ' Only Numbers str3 = "!@#$;*" ' Only Special Characters Str4 = "Asc23@#" ' Has all the above
Строковые функции
Существуют предопределенные функции VBA String, которые помогают разработчикам эффективно работать со строками. Ниже приведены методы String, поддерживаемые в VBA. Пожалуйста, нажмите на каждый из методов, чтобы знать подробно.
Название функции и описание
Функция InStr возвращает первое вхождение одной строки в другую строку. Поиск происходит слева направо.
Синтаксис
InStr([start,]string1,string2[,compare])
Параметр Описание
- Пуск — необязательный параметр. Указывает начальную позицию для поиска. Поиск начинается с первой позиции слева направо.
- String1 — требуемый параметр. Строка для поиска.
- String2 — требуемый параметр. Строка, по которой выполняется поиск String1.
- Compare — Необязательный параметр. Указывает сравнение строк.Он может принимать следующие значения.
- 0 = vbBinaryCompare — выполняет двоичное сравнение (по умолчанию)
- 1 = vbTextCompare — выполняет сравнение текста
пример
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click() Dim Var As Variant Var = "Microsoft VBScript" MsgBox ("Line 1 : " & InStr(1, Var, "s")) MsgBox ("Line 2 : " & InStr(7, Var, "s")) MsgBox ("Line 3 : " & InStr(1, Var, "f", 1)) MsgBox ("Line 4 : " & InStr(1, Var, "t", 0)) MsgBox ("Line 5 : " & InStr(1, Var, "i")) MsgBox ("Line 6 : " & InStr(7, Var, "i")) MsgBox ("Line 7 : " & InStr(Var, "VB")) End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
Line 1 : 6
Line 2 : 0
Line 3 : 8
Line 4 : 9
Line 5 : 2
Line 6 : 16
Line 7 : 11
Возвращает первое вхождение указанной подстроки. Поиск происходит слева направо.
InStrRev
Функция InStrRev возвращает первое вхождение одной строки в другую строку. Поиск происходит справа налево.
Синтаксис
InStrRev(string1,string2[,start,[compare]])
Параметр Описание
- String1 — требуемый параметр. Строка для поиска.
- String2 — требуемый параметр. Строка, по которой выполняется поиск String1.
- Пуск — необязательный параметр. Указывает начальную позицию для поиска. Поиск начинается с первой позиции справа налево.
- Compare — Необязательный параметр. Указывает сравнение строк.Он может принимать следующие значения.
- 0 = vbBinaryCompare — выполняет двоичное сравнение (по умолчанию)
- 1 = vbTextCompare — выполняет сравнение текста
пример
Добавьте кнопку и установите следующую функцию.
Private Sub Constant_demo_Click() var = "Microsoft VBScript" msgbox("Line 1 : " & InStrRev(var,"s",10)) msgbox("Line 2 : " & InStrRev(var,"s",7)) msgbox("Line 3 : " & InStrRev(var,"f",-1,1)) msgbox("Line 4 : " & InStrRev(var,"t",5)) msgbox("Line 5 : " & InStrRev(var,"i",7)) msgbox("Line 6 : " & InStrRev(var,"i",7)) msgbox("Line 7 : " & InStrRev(var,"VB",1)) End Sub
После выполнения вышеуказанного скрипта он производит следующий результат.
Line 1 : 6
Line 2 : 6
Line 3 : 8
Line 4 : 0
Line 5 : 2
Line 6 : 2
Line 7 : 0
Возвращает первое вхождение указанной подстроки. Поиск происходит справа налево.
LCASE
Функция LCase возвращает строку после преобразования введенной строки в строчные буквы.
Синтаксис
Lcase(String)
пример
Добавьте кнопку и поместите следующую функцию внутри нее.
Private Sub Constant_demo_Click() var = "Microsoft VBScript" msgbox("Line 1 : " & LCase(var)) var = "MS VBSCRIPT" msgbox("Line 2 : " & LCase(var)) var = "microsoft" msgbox("Line 3 : " & LCase(var)) End Sub
После выполнения вышеуказанного скрипта он производит следующий вывод.
Line 1 : microsoft vbscript
Line 2 : ms vbscript
Line 3 : microsoft
Возвращает нижний регистр указанной строки.
UCase
Функция UCase возвращает строку после преобразования введенной строки в буквы буквы UPPER.
Синтаксис
UCase(String)
пример
Добавьте кнопку и поместите следующую функцию внутри нее.
Private Sub Constant_demo_Click() var = "Microsoft VBScript" msgbox("Line 1 : " & UCase(var)) var = "MS VBSCRIPT" msgbox("Line 2 : " & UCase(var)) var = "microsoft" msgbox("Line 3 : " & UCase(var)) End Sub
После выполнения вышеуказанного скрипта он производит следующий вывод.
Line 1 : MICROSOFT VBSCRIPT
Line 2 : MS VBSCRIPT
Line 3 : MICROSOFT
Возвращает верхний регистр указанной строки.
Left
Функция Left возвращает указанное количество символов с левой стороны данной входной строки.
Синтаксис
Left(String, Length)
Параметр Описание
- String — обязательный параметр. Строка ввода, из которой указанное число символов должно быть возвращено с левой стороны.
- Длина — требуемый параметр. Целое число, определяющее количество возвращаемых символов.
пример
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click() Dim var as Variant var = "Microsoft VBScript" msgbox("Line 1 : " & Left(var,2)) var = "MS VBSCRIPT" msgbox("Line 2 : " & Left(var,5)) var = "microsoft" msgbox("Line 3 : " & Left(var,9)) End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
Line 1 : Mi
Line 2 : MS VB
Line 3 : microsoft
Возвращает определенное количество символов с левой стороны строки.
Right
Функция Right возвращает указанное количество символов с правой стороны данной входной строки.
Синтаксис
Right(String, Length)
Параметр Описание
- String — обязательный параметр. Строка ввода, из которой указанное число символов должно быть возвращено с правой стороны.
- Длина — требуемый параметр. Целое число, которое задает количество возвращаемых символов.
пример
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click() var = "Microsoft VBScript" msgbox("Line 1 : " & Right(var,2)) var = "MS VBSCRIPT" msgbox("Line 2 : " & Right(var,5)) var = "microsoft" msgbox("Line 3 : " & Right(var,9)) End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
Line 1 : pt
Line 2 : CRIPT
Line 3 : microsoft
Возвращает определенное количество символов с правой стороны строки.
Mid
Mid функция возвращает указанное количество символов из заданной входной строки.
Синтаксис
Mid(String,start[,Length])
Параметр Описание
- String — обязательный параметр. Строка ввода, из которой задано количество символов, которые нужно вернуть.
- Начало — требуемый параметр. Целое число, определяющее начальную позицию строки.
- Длина — необязательный параметр. Целое число, определяющее количество возвращаемых символов.
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click() Dim var as Variant var = "Microsoft VBScript" msgbox("Line 1 : " & Mid(var,2)) msgbox("Line 2 : " & Mid(var,2,5)) msgbox("Line 3 : " & Mid(var,5,7)) End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
Line 1 : icrosoft VBScript
Line 2 : icros
Line 3 : osoft V
Возвращает определенное количество символов из строки на основе указанных параметров.
LTrim
Функция Ltrim удаляет пробелы с левой стороны строки.
Синтаксис
LTrim(String)
пример
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click() Dim var as Variant var = " Microsoft VBScript" msgbox "After Ltrim : " & LTrim(var) End Sub
Когда вы выполняете функцию, она производит следующий вывод.
After Ltrim : Microsoft VBScript
Возвращает строку после удаления пробелов в левой части указанной строки.
RTrim
Функция Rtrim удаляет пробелы с правой стороны строки.
Синтаксис
RTrim(String)
пример
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click() Dim var as Variant var = "Microsoft VBScript " msgbox("After Rtrim : " & RTrim(var)) End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
After Rtrim : Microsoft VBScript
Возвращает строку после удаления пробелов в правой части указанной строки.
Trim
Функция Trim удаляет как ведущее, так и конечное пустое пространство данной входной строки.
Синтаксис
Trim(String)
пример
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click() var = "Microsoft VBScript" var = " Microsoft VBScript " msgbox ("After Trim : " & Trim(var)) End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
After trim : Microsoft VBScript
Возвращает строковое значение после удаления как верхнего, так и конечного пробелов.
Len
Функция Len возвращает длину данной входной строки, включая пробелы.
Синтаксис
Len(String)
пример
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click() Dim var1 as Variant Dim var2 as Variant var1 ="Microsoft VBScript" msgbox("Length of var1 is : " & Len(var1)) var2 = " Microsoft VBScript " msgbox ("Length of var2 is : " & Len(var2)) End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
Length of var1 is : 18
Length of var2 is : 36
Возвращает длину данной строки.
Replace
Функция Replace заменяет указанную часть строки на определенную строку, указанное количество раз.
Синтаксис
Replace(string,find,replacewith[,start[,count[,compare]]])
Параметр Описание
- String — обязательный параметр. Строка ввода, которую нужно искать для замены.
- Find — требуемый параметр. Часть строки, которая будет заменена.
- Replacewith — обязательный параметр. Строка замены, которая будет заменена на параметр find.
- Start — необязательный параметр. Задает начальную позицию, из которой нужно искать и заменять строку. Значение по умолчанию — 1.
- Count — необязательный параметр. Указывает количество раз, которое должна выполняться замена.
- Compare — Необязательный параметр. Указывает метод сравнения, который будет использоваться. Значение по умолчанию — 0.
- 0 = vbBinaryCompare — выполняет двоичное сравнение
- 1 = vbTextCompare — выполняет текстовое сравнение
пример
Private Sub Constant_demo_Click() Dim var as Variant var = "This is VBScript Programming" 'VBScript to be replaced by MS VBScript msgbox("Line 1: " & Replace(var,"VBScript","MS VBScript")) 'VB to be replaced by vb msgbox("Line 2: " & Replace(var,"VB","vb")) ''is' replaced by ## msgbox("Line 3: " & Replace(var,"is","##")) ''is' replaced by ## ignores the characters before the first occurence msgbox("Line 4: " & Replace(var,"is","##",5)) ''s' is replaced by ## for the next 2 occurences. msgbox("Line 5: " & Replace(var,"s","##",1,2)) ''r' is replaced by ## for all occurences textual comparison. msgbox("Line 6: " & Replace(var,"r","##",1,-1,1)) ''t' is replaced by ## for all occurences Binary comparison msgbox("Line 7: " & Replace(var,"t","##",1,-1,0)) End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
Line 1: This is MS VBScript Programming
Line 2: This is vbScript Programming
Line 3: Th## ## VBScript Programming
Line 4: ## VBScript Programming
Line 5: Thi## i## VBScript Programming
Line 6: This is VBSc##ipt P##og##amming
Line 7: This is VBScrip## Programming
Возвращает строку после замены строки другой строкой.
Space
Функция Space заполняет строку конкретным количеством пробелов.
Синтаксис
space(number)
Параметр Описание
Номер — требуемый параметр. Количество пробелов, которые мы хотим добавить к данной строке.
пример
Private Sub Constant_demo_Click() Dim var1 as Variant var1 = "Microsoft" Dim var2 as Variant var2 = "VBScript" msgbox(var1 & Space(2)& var2) End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
Microsoft VBScript
Заполняет строку указанным количеством пробелов.
StrComp
Функция StrComp возвращает целочисленное значение после сравнения двух заданных строк. Он может возвращать любое из трех значений -1, 0 или 1 на основе входных строк для сравнения.
- Если String1 меньше String2, то StrComp возвращает -1
- Если String1 равно String2, то StrComp возвращает 0
- Если String1 больше String2, то StrComp возвращает 1
Синтаксис
StrComp(string1,string2[,compare])
Параметр Описание
- String1 — требуемый параметр. Первое строковое выражение.
- String2 — требуемый параметр. Второе строковое выражение.
- Compare — Необязательный параметр. Указывает сравнение строк.Он может принимать следующие значения.
- 0 = vbBinaryCompare — выполняет двоичное сравнение (по умолчанию)
- 1 = vbTextCompare — выполняет сравнение текста
пример
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click() Dim var1 as Variant msgbox("Line 1 :" & StrComp("Microsoft","Microsoft")) msgbox("Line 2 :" &StrComp("Microsoft","MICROSOFT")) msgbox("Line 3 :" &StrComp("Microsoft","MiCrOsOfT")) msgbox("Line 4 :" &StrComp("Microsoft","MiCrOsOfT",1)) msgbox("Line 5 :" &StrComp("Microsoft","MiCrOsOfT",0)) End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
Line 1 :0
Line 2 :1
Line 3 :1
Line 4 :0
Line 5 :1
Возвращает целочисленное значение после сравнения двух указанных строк.
String
Функция String заполняет строку указанным символом для указанного количества раз.
Синтаксис
String(number,character)
Параметр Описание
- Номер — требуемый параметр. Целочисленное значение, которое будет повторяться в течение определенного количества раз против параметра символа.
- Символ — требуемый параметр. Значение символа, которое должно повторяться определенное количество раз.
пример
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click() msgbox("Line 1 :" & String(3,"$")) msgbox("Line 2 :" & String(4,"*")) msgbox("Line 3 :" & String(5,100)) msgbox("Line 4 :" & String(6,"ABCDE")) End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
Line 1 :$$$
Line 2 :****
Line 3 :ddddd
Line 4 :AAAAAA
Возвращает строку с указанным символом для указанного количества раз.
StrReverse
Функция StrReverse меняет указанную строку.
Синтаксис
StrReverse(string)
пример
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click() msgbox("Line 1 : " & StrReverse("VBSCRIPT")) msgbox("Line 2 : " & StrReverse("My First VBScript")) msgbox("Line 3 : " & StrReverse("123.45")) End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
Line 1 : TPIRCSBV
Line 2 : tpircSBV tsriF yM
Line 3 : 54.321
Возвращает строку после изменения последовательности символов данной строки.
С уважением, авторы сайта Компьютерапия
Понравилась статья? Поделитесь ею с друзьями и напишите отзыв в комментариях!
0 / 0 / 0 Регистрация: 14.06.2007 Сообщений: 9 |
|
1 |
|
Как присвоить строке двойные кавычки («») ?18.06.2007, 17:43. Показов 2849. Ответов 7
Собственно требуется присвоить, например Str = ‘ ОАО ‘Чебурашка’ ‘ А ведь не понимает двойных кавычек в середине.
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
18.06.2007, 17:43 |
7 |
Zealot |
|
18.06.2007, 18:00 |
2 |
А зачем кавычки? Можно апострофы написать. ЗАО ‘Чебурашка’. |
asd |
|
18.06.2007, 18:11 |
3 |
Попробуй: |
ger |
|
19.06.2007, 09:38 |
4 |
Еще бывают кавычки типа <<Чебурашка>>. |
0 / 0 / 0 Регистрация: 14.06.2007 Сообщений: 9 |
|
19.06.2007, 12:43 [ТС] |
5 |
Не — нужно именно кавычки типа ‘Чебурашка’, Мысля делать по тупому, составлять строку из ‘ОАО’+Кодсимвола(‘)+’Чебурашка’+.. и так далее..
0 |
Mavr |
|
19.06.2007, 13:06 |
6 |
asd же тебе правильно показал, что бы в строке были одни двойные кавычки ставишь на этом месте пару двойных кавычек. |
asd |
|
19.06.2007, 14:06 |
7 |
Просто скопируй отсюда: Str = ‘ ОАО »Чебурашка» ‘ в свой код и все. |
0 / 0 / 0 Регистрация: 14.06.2007 Сообщений: 9 |
|
19.06.2007, 16:39 [ТС] |
8 |
Спасибо. Хотя все равно сделала как Str = ‘ЗАО ‘ & Chr(34) & ‘Чебурашка’ & Chr(34) Ну так хотелось что-нибудь в кодах, в кодах и побольше!!
0 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
19.06.2007, 16:39 |
Помогаю со студенческими работами здесь Как записать в XML ‘ » (одинарные и двойные кавычки) В заданной строке содержатся двойные кавычки. Напечатать все слова, взятые в кавычки Как во всей книге Excel из 10-ти листов удалить » » двойные и более пробелы на » « Как исправить в строке запроса двойные кавычки на одинарные Искать еще темы с ответами Или воспользуйтесь поиском по форуму: 8 |