2010-11-29 4 views
0

Я заметил, что ниже строка кода работает на одной машине, но не на другом, даже если обе машины имеют одинаковые версии Office 2007.Является ли свойство VBA name чувствительным к регистру

strName = folderObj.Name 

Но когда я конвертировать собственность из «.Name» до „.n AME“, то это наблюдается, чтобы работать на машине, на которой он не работал раньше. Ниже приведены некоторые примеры строк кода, для которых я сталкиваюсь с проблемами. За мои наблюдения, где когда-либо ранее я упоминал .Name терпит неудачу на другую машину:

strName = folderObj.Name 
Application.ActiveWorkbook.Name 

Есть ли настройки, которые мы должны выполнить, чтобы игнорировать регистр для .name.

+2

Что происходит, когда вы помещаете «Option Explicit» в верхней части кодовой страницы? – CarneyCode 2010-11-29 18:12:29

+0

Я получаю ошибку несоответствия типа, даже если я упоминаю Option Explicit – NewAutoUser 2010-11-30 15:08:57

ответ

1

Помню, что я занимаюсь очень похожим вопросом некоторое время назад, но не могу вспомнить специфику. Я хочу сказать, искать любые ссылки в вашем коде на переменные, свойства и т. Д., Которые называются «имя» (в нижнем регистре) и изменить их на «Имя» (случай pascal). У меня смутное воспоминание о том, что VBA запутывается, когда вы используете другой корпус для предметов с тем же именем. (Из-за отсутствия более подробного объяснения.) Я знаю, что это не означает, что он работает на одном компьютере, но не в другом, но это стоит посмотреть.

Btw, когда вы говорите «это не работает», какая ошибка вы получаете?