Я пытаюсь создать игру на память, подобную той, что здесь: http://www.mathsisfun.com/games/memory/index.html. Я подхожу к этому так:
Пользователь выбирает две фигуры, а затем запускает макрос с именем associateShapes (),
В associateShapes я использую модуль класса с именем ShapeAssociation, в нем у меня есть два свойства shape1Name и shape2Name, где пара представляет связь между этими формами этих имен.
Поэтому, когда я пытаюсь протестировать ShapeAssociation, я использую этот модуль:
Global shapeAssociations() As ShapeAssociation
Global shapeAssoc As New ShapeAssociation
Public Sub Test()
ReDim shapeAssociations(0)
shapeAssoc.shape1Name = ActiveWindow.Selection.ShapeRange(1).Name
shapeAssoc.shape2Name = ActiveWindow.Selection.ShapeRange(2).Name
Set shapeAssociations(0) = shapeAssoc
MsgBox shapeAssociations(0).shape1Name
End Sub
Однако окно сообщения, которое я в итоге вижу, пусто, возможно, указывает на то, что переменная shapeAssoc не была инициализирована. Я попробовал несколько других подходов для создания структуры данных пар фигур в VBA, от многомерного массива форм до этого подхода. Все эти попытки приносят свои собственные сообщения об ошибках, будь то сообщения времени компиляции или сообщения времени выполнения. Поэтому мой вопрос к вам: как мне создать структуру данных в VBA, которая представляет пару Shapes?