Класс для управления датами NSDate
. Метод для получения временных интервалов -timeIntervalSinceDate:
. Результат NSTimeInterval
значение, которое является double
представление интервала в секундах.
можно создать NSDate
объект от NSString
с +dateWithString:
, при условии, что дата отформатирована как 24.03.2001 10:45:32 +0600 .
Чтобы иметь возможность ссылаться на объектную модель Excel как на «Excel», вы можете создать псевдоним с помощью , используя оператор
в верхней части пространства имен ( или документ) следующим образом:
using Excel = Microsoft.Office.Interop.Excel;
После этого вы можете ссылаться на Excel.Application
вместо длинного Microsoft.Office.Interop.Excel.Application
.
As почему ваш звонок в Marshal.GetActiveObject терпит неудачу, я не могу сказать наверняка. Пара мыслей:
(1) Вы уверены, что уже существует работающий экземпляр Excel? Если нет, то создайте новое приложение Excel:
Excel.Application xlApp = new Excel.Application();
(2) Если определенно уже запущено приложение Excel, то возможно, что экземпляр Excel еще не был добавлен в Таблицу бегущих объектов (ROT), если Excel Приложение никогда не теряет фокус. Видеть: Ошибка Visual C # .NET при подключении к запущенному экземпляру приложения Office для получения дополнительной информации. Я считаю, что в этом случае метод Marshal.GetActiveObject должен генерировать исключение, а не возвращать значение null, но это все еще кажется потенциально актуальным.
Надеюсь, это поможет ...
Майк
После примерно половины игры вокруг я, наконец, выяснил, как сделать эту работу, чтобы вы могли защелнить на открытой копии Excel. Мои пользователи сильно жалуются о том, чтобы иметь слишком много случаев открытой Excel.
Вот фрагмент того, что я сделал, чтобы получить его, работал:
_Application excelApp;
try
{
excelApp = (_Application)Marshal.GetActiveObject("Excel.Application");
}
catch(Exception)
{
// this is important. If Excel is not running, GetActiveObject will throw
// an exception
excelApp = null;
}
if( excelApp == null )
{
excelApp = new ApplicationClass();
}
Я гонился на это некоторое время, и, наконец, имел некоторое время, чтобы наклониться и понять его.