Рейтинг:
20
Graham Shanks
Свойство Visible является логическим, поэтому ошибочная строка должна быть
pXL->Visible = true;
mr.abzadeh
мой браузер (IE8) не показывает значок ответа, поэтому я использую addcomment.
Что вы подразумеваете под pXL- & gt;true;? Это не кажется правильным. Однако я изучил его, и результатом была эта ошибка
в <предварительно>По ошибке C2059: синтаксическая ошибка : 'константа'&ЛТ;/пре&ГТ;
Я также изучил этот код
в <предварительно>В пиксель-&ГТ;PutVisible( значение variant_true, 1 );&ЛТ;/пре&ГТ;
Он успешно выполнил это требование, что означает, что PutVisible нуждается в 2 аргументах, но я не знаю
их значение
спасибо
Graham Shanks
Извините, я пропустил какой-то текст, он должен быть pXL - >Visible = true; (я соответствующим образом обновил решение).
PutVisible не появляется в интерфейсе для класса приложений Excel, согласно документации с VS 2005. Это может быть связано с расширением microsoft для реализации prperties в C++ (которое их не поддерживает).
Поиск в google, похоже, предполагает, что pXL->PutVisible(0, TRUE); установит видимый флаг. TRUE-это хэш-определение для ненулевого значения. Он использовался для логических значений в C, прежде чем C++ ввел ключевые слова bool, true и false. Значение variant_true, это есть определить для ((VARIANT_BOOL)1), где VARIANT_BOOL хеш определить для коротких
mr.abzadeh
Я изучил этот код, вызывающий ту же ошибку.
pXL- & gt;Visible = true; / / генерирует эту ошибку
/*
ошибка ошибка c2660: 'программа Excel::_Application::PutVisible' : функция не принимает 1 аргументов
*/
PutVisible - это функция-оболочка, сгенерированная в mymodule. tli, которая выглядит следующим образом
в <предварительно>у встроенных пустота в формате Excel::_Application::PutVisible ( длинный код, VARIANT_BOOL РГО ) {
HRESULT _hr = put_Visible(lcid, RHS);
if (FAILED(_hr)) _com_issue_errorex(_hr, this, _ _ uuidof (this));
}< / pre>
Я не знаю, что означают аргументы lcid и RHS, но "истинное" значение для RHS с любым значением для lcid работает.
Можете ли вы отправить мне адрес ссылок, которые вы нашли о PutVisible? Мне это нужно, чтобы найти значение аргументов "lcid", " RHS " и другой информации.
Спасибо за ваше замечание
абзаде
Graham Shanks
Ссылки, которые я нашел вчера вечером, не помогут вам в спорах. Однако с вашей дополнительной информацией я нашел это ссылка[^]. Прямо в нижней части первой страницы он утверждает, что lcid является идентификатором локали, и установка его в NULL (т. е. 0) использует компьютер по умолчанию - что почти наверняка то, что вы хотите сделать. RHS немного легче декодировать, он расшифровывается как "правая сторона", что является стандартным способом обозначения термина справа от оператора присваивания - например, вы часто увидите оператор присваивания, записанный как MyClass&MyClass:: operator=(const MyClass&RHS);
Я также нашел это ссылка[^], который утверждает, что видимое свойство имеет тип System:: Boolean. Так что вы можете попробовать
объект значение ИСТИНА значение = ИСТИНА;
пиксель-&ГТ;видно = значение ИСТИНА значение;
или
pXL- & gt;Visible = (System::Boolean)true;
Конечно, я думаю, что pXL- & gt;PutVisible(0, TRUE);, вероятно, достаточно
mr.abzadeh
Раньше я использовал office 2003 и _Application.Visible = TRUE работал хорошо.
Я думаю, что начиная с office 2007 Microsoft предлагает видимое свойство с 2 аргументами и скрывает 1 аргумент. Я говорю "скрывает", потому что код, написанный для office 2003, должен и работает в office 2007 и 2010.
На мой вопрос был дан полный ответ.
Спасибо за вашу помощь и ссылки, которые вы нашли для меня, удачи
Абзаде.