- существует ли возможность выполнения макроса (сомневаюсь) или Office Script, который будет знать, какой пользователь открыл файл?
Лично я не знаю, но предполагаю, как и многие, что да безусловно, хотя должно быть ограничение со стороны средств обеспечения безопасности, да и бот подтвердил. Даже накидывает несколько вариантов кода на TypeScript.
ммм... нет ли чуть точнее наводки? Пока не могу найти подтверждение, что Office Script умеет читать id пользователя. Но наверное не туда смотрю.
В Excel Online TypeScript, работающем в браузере, доступ к информации о текущем пользователе, который открыл файл, ограничен из соображений безопасности. В стандартной среде Excel Online TypeScript нет прямого способа получить информацию о текущем пользователе, открывшем файл на SharePoint. Однако, существуют некоторые альтернативные подходы, которые могут помочь вам получить информацию о пользователе: 1. SharePoint REST API: Вы можете использовать SharePoint REST API для получения информации о текущем пользователе, используя запросы HTTP. Например, вы можете отправить GET-запрос на URL-адрес _api/web/currentUser для получения информации о текущем пользователе. Вы можете использовать JavaScript или TypeScript для выполнения таких запросов. 2. SharePoint Framework (SPFx): Если вы разрабатываете пользовательский интерфейс на SharePoint, вы можете использовать SharePoint Framework (SPFx), чтобы создать веб-часть, которая будет иметь доступ к информации о текущем пользователе. SPFx предоставляет API для получения информации о пользователе, такой как this.context.pageContext.user.loginName. 3. Пользовательский скрипт: Если у вас есть возможность использовать пользовательский скрипт на странице SharePoint, вы можете использовать JavaScript или TypeScript для получения информации о текущем пользователе. Например, вы можете использовать объект SP.UserProfiles.PeopleManager для получения информации о пользователе. Обратите внимание, что эти подходы могут потребовать некоторых настроек и разрешений на стороне SharePoint. Также следует учесть, что доступ к информации о пользователе может быть ограничен настройками безопасности и политиками вашей организации.
В Excel Online TypeScript, если файл открыт на SharePoint, вы можете использовать объект Office.context для получения информации о текущем пользователе. Ниже приведен пример кода TypeScript, который позволяет получить имя пользователя: Excel.run(async (context) => { const user = context.workbook.createdBy; user.load("displayName"); await context.sync(); console.log(user.displayName); }).catch((error) => { console.error(error); }); Обратите внимание, что этот код должен быть выполнен в контексте выполнения операций Excel Online.
Да, в Excel Online, который открывается через SharePoint, вы можете использовать JavaScript API для Office, чтобы получить информацию о текущем пользователе, открывшем файл. Сначала необходимо получить доступ к контексту приложения и затем запросить информацию о пользователе. Ниже приведен пример кода на TypeScript, который можно использовать для этой цели: Excel.run(async (context) => { const currentUser = context.workbook.application.userProfile.name; context.sync() .then(() => { console.log("Имя текущего пользователя: " + currentUser); }); }).catch((error) => { console.error(error); }); Этот код использует JavaScript API для Office, чтобы получить доступ к контексту приложения Excel и затем получить информацию о текущем пользователе, открывшем файл. Пожалуйста, обратите внимание, что для использования этого кода необходимо правильно настроить свою среду разработки и иметь соответствующие разрешения на SharePoint.
Roman Rimlynin, твою репутацию увеличил Maxim Zelensky. Репутация - 1311 Респект от Excel Hacks
Обсуждают сегодня