zHackLeX писал(а):Ведь квадратным скобкам и без того было применение...
Private Enum Sample
[First Value]
[1337 v41u3]
[='"*()]
End Enum
dormouse писал(а):только в акцессе для упоминания длинных имён объектов на русском языке и с пробелами (жуткое сочетание)
Dim rs As Object
Set rs = CreateObject("ADODB.Recordset")
rs.Fields.Append "1337 f!31d", vbString
rs.Open
rs.AddNew
rs![1337 f!31d] = "привет"
tyomitch писал(а):KL, в VBA они применяются для указания имён, содержащих недопустимые символы (например те же пробелы), либо совпадающих с зарезервированными. Обычно при использовании TLB, в которых заданы такие нехорошие имена.
Пример без TLB:
- Код: Выделить всё
Private Enum Sample
[First Value]
[1337 v41u3]
[='"*()]
End Enum
tyomitch писал(а):Такой пример прокатит?
- Код: Выделить всё
Dim rs As Object
Set rs = CreateObject("ADODB.Recordset")
rs.Fields.Append "1337 f!31d", vbString
rs.Open
rs.AddNew
rs![1337 f!31d] = "привет"
[[name.xls]Sheet1!A1]
zHackLeX писал(а):[[name.xls]Sheet1!A1]
Ужас однако...
(не работал толком в МИФе, поэтому удивляюсь...)
С точки зрения языка - и компилятора - что означает эта инструкция?
Особенность ли это языка, или есть способ ввернуть что-то
такое в VB, в контексте какого-нть класса?
Evaluate("[name.xls]Sheet1!A1")
'при этом файл name.xls должен быть открыт
Application.Evaluate("[name.xls]Sheet1!A1")
Dim appXL As Excel.Application
MsgBox appXL.[[name.xls]Sheet1!A1]
tyomitch писал(а):Я пробовал. Не робит.
Sub test()
Dim oXLapp As Excel.Application
Dim oXLwb As Excel.Workbook
Set oXLapp = CreateObject("Excel.Application")
Set oXLwb = oXLapp.Workbooks.Open("h:\name.xls")
MsgBox oXLapp.[[name.xls]Sheet1!A1]
oXLwb.Close False
Set oXLwb = Nothing
oXLapp.Quit
Set oXLapp = Nothing
End Sub
KL писал(а):(!!!) файл должен быть открыт
With Excel.Application
.Workbooks.Add
.Visible = True
End With
[A1] = "Hello!"
tyomitch писал(а):Работает, собственно, даже с таким синтаксисом:
- Код: Выделить всё
With Excel.Application
.Workbooks.Add
.Visible = True
End With
[A1] = "Hello!"
Проверял из VB6.
GSerg писал(а):само application "необязательное",
ANDLL писал(а):Проблема вроде в том, что у метода lcid-параметр, а вот этого уже бейсик переварить в собственном классе не сможет
Class Class1
Attribute Evaluate.VB_UserMemId = -5
Public Function Evaluate(x As String)
Evaluate = x
End Function
End Class
...
Private Sub Form_Load()
Dim a As Object
Set a = New Class1
x = a.[Ag]
MsgBox x
End Sub
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 66