Вы, похоже, путаете устаревший и синтаксис выражений.
Сначала давайте посмотрим, где вы пытаетесь определить переменную em
.
Похоже, вы пытаетесь сохранить строку * Там 1005 *.
Если бы вы использовали устаревший синтаксис em = Dave
, вы бы использовали оператор =
для назначения текста переменной, а переменная em
действительно будет содержать строку Dave
.
Но вы используете синтаксис выражений em := Dave
(как следует, это уже не первое десятилетие 2000-х). Итак, вы присваиваете выражение переменной em
. И назначаемое вами выражение - Dave
. Dave
как выражение ожидается как переменная. Итак, вы присваиваете переменную Dave
em
. Однако такой переменной не существует, поэтому вы ничего не присваиваете (пусто) для em
.
Чтобы назначить строку для em
в синтаксисе выражения, вы должны сделать em := "Dave"
.
И затем ко второй проблеме, снова используя устаревший синтаксис в выражении.
ProfileList[%em%].Password
%variable%
будет устаревшим синтаксическим способом ссылки на переменную, но, поскольку мы находимся в выражении, мы хотим просто сделайте ProfileList[em].Password
для ссылки на переменную.
Устаревший синтаксис против синтаксиса выражений может сбивать с толку. Эта страница из документации может вам немного помочь:
https://www.autohotkey.com/docs/Language.htm
Я бы порекомендовал попытаться привыкнуть никогда не использовать устаревший синтаксис. Конечно, это будет работать, но хорошей практикой является не использовать его. Возможно, вы однажды захотите писать в AHK v2, и тогда уже не будет унаследованного синтаксиса.