Просмотр сообщений
|
Страниц: [1] 2 3 ... 11
|
3
|
Основные форумы / Вопросы по Excel и VBA / ThisWorkbook.UserStatus видит только меня
|
: 04.03.2022, 12:33:11
|
Здравствуйте. Мой вопрос касается возможности считывания кодом vba профилей людей, использующих в данный момент файл, к которому имеют доступ на Sharepoint. Использую свойство ThisWorkbook.UserStatus, но код видит только меня, хотя тестирую с ещё одним пользователем, у которого этот файл открыт локально, в Excel Desktop, как и у меня. Код следующий : Sub V_Sub_MsgBox_profils_actifs_sur_Sharepoint_VL() Dim LWk_Workbook As Workbook, LL_Counter As Long ', LA_User_Status(), LL_Index As Long, Dim LS_String As String
Set LWk_Workbook = Application.ActiveWorkbook LS_String = "Users currently online:" & Chr(10) For LL_Counter = 1 To UBound(LWk_Workbook.UserStatus) LS_String = LS_String & ThisWorkbook.UserStatus(LL_Counter, 1) & ", " Next LL_Counter MsgBox LS_String 'Range("F2").Value = Mid(Str, 1, Len(Str) - 2) End Sub 'V_Sub_MsgBox_profils_actifs_sur_Sharepoint_VL
|
|
|
6
|
Основные форумы / Вопросы по Excel и VBA / Режим пересчета в Excel «Автоматический, кроме таблиц», смысл ?
|
: 11.11.2021, 08:54:47
|
Здравствуйте. Вопрос по одному из трех возможных способов пересчета в Excel desktop application - «Автоматический, кроме таблиц» («Automatic Except Tables») : из документации Майкрософт, этот режим должен пересчитать и обновить в файле всё, кроме таблиц (больших или маленьких, неважно). При пересчете на этом режиме (можно использовать приложенный файл-пример с таблицей, в нем меняем значение в ячейке Е6.) пересчитывается всё, включая таблицу, как и в автоматическом пересчете. Я также пробовала этот режим и на таблицах с внешними источниками данных – результат тот же, специфики этого метода нет. У кого есть что-то по этой теме ? Может, это более менее известный баг Excel ? Использую Excel из подписки Microsoft 365 на Windows 8.1. Источник по теме документации Майкрософт : https://docs.microsoft.com/en-us/office/client-developer/excel/excel-recalculation
|
|
|
7
|
Основные форумы / Вопросы по Excel и VBA / Лист "паразит" - второй модуль ThisWorkbook в проекте vba
|
: 17.06.2021, 08:29:06
|
Здравствуйте. Чаще в старых файлах Excel случается, появляется сам собой второй лист по имени в vba "ThisWorkbook" (видно на приложенном снимке экрана). Удалить его невозможно, а при обращении к нему посредством какой-нибудь инструкции vba (например, Feuil48.Name) выдает ошибку автоматики error Automation error -2147418113 (8000ffff). Если кто с таким же сталкивался, что делаете ? (кроме как экспортировать всё в новый Excel файл).
|
|
|
8
|
Основные форумы / Вопросы по Excel и VBA / Подобрать тип графика для шкалы времени с возможностью подписи данных
|
: 15.06.2021, 17:20:54
|
Здравствуйте. В приложении картинка шкалы времени, которую пытаюсь заменить графиком Excel. Слева вертикаль - где должна быть ось ординат - годы с 1320 по 2010, десятилетиями. Справа - "нагромождение" прямоугольников с именами, длина которых соответствует протяженности жизни. В существующем варианте делала всё вручную - вписываю имя, считаю нужное количество ячеек-лет и т.п. Хотелось бы привязаться к базе данных нужным типом графика и получить аналогичный нормальный график, а не просто картинку. Кто может подсказать в каком направлении двигаться ? Пробовала с диаграммой Ганта, но там нет возможности "подписывать" прямоугольники и не знаю, как расположить их вертикально, а не горизонтально.
|
|
|
11
|
Основные форумы / Вопросы по Excel и VBA / Скорректировать код под файлы Excel более нового поколения .xlsx, .xlsm
|
: 08.02.2021, 19:03:50
|
Здравствуйте. Написала код для изменения закрытого файла Excel "File_Target.xls". Он лежит на рабочем столе, это прописано в коде (его местоположение). Файл .xls - Excel 1997-2003 - обрабатывается без запинки. И совершенно не работает, если применить его к файлу более нового поколения - .xlsx, .xlsm. Кто может подсказать, что нужно изменить в коде, чтобы срабатывало для файлов более нового поколения - .xlsx, .xlsm ? Option Explicit Option Compare Text
Sub V_Sub_Modify_closed_File_Target_xls() Call V_Sub_Closed_File_Change(VBA.Environ("USERPROFILE") & "\Desktop\File_Target.xls") End Sub 'V_Sub_Modify_closed_File_Target_xls Sub V_Sub_Closed_File_Change(LSp_File_name As String) Dim binaryStream As Object With CreateObject("ADODB.Stream") 'End With 'With CreateObject("ADODB.Stream") .Type = 2: .Charset = "utf-8": .Open .WriteText "Nous sommes le " & CDate(VBA.Now) Set binaryStream = CreateObject("ADODB.Stream") binaryStream.Type = 1: binaryStream.Mode = 3: binaryStream.Open .Position = 3: .CopyTo binaryStream 'Skip BOM bytes .flush: .Close binaryStream.SaveToFile LSp_File_name, 2 binaryStream.Close End With 'With CreateObject("ADODB.Stream") MsgBox "File_Target.xls on the desktop successfully updated", vbInformation, "VL for Vinci, 02.2021" End Sub 'V_Sub_Closed_File_Change Sub V_Sub_File_Target_Open() Workbooks.Open Filename:=VBA.Environ("USERPROFILE") & "\Desktop\File_Target.xls" End Sub 'V_Sub_File_Target_Open Sub V_Sub_Clear_closed_File_Target_xls() Call V_Sub_File_Target_Clear(VBA.Environ("USERPROFILE") & "\Desktop\File_Target.xls") End Sub 'V_Sub_Clear_closed_File_Target_xls
Sub V_Sub_File_Target_Clear(LSp_File_name As String) Dim binaryStream As Object
With CreateObject("ADODB.Stream") 'End With 'With CreateObject("ADODB.Stream") .Type = 2: .Charset = "utf-8": .Open .WriteText "" Set binaryStream = CreateObject("ADODB.Stream") binaryStream.Type = 1: binaryStream.Mode = 3: binaryStream.Open .Position = 3: .CopyTo binaryStream 'Skip BOM bytes .flush: .Close binaryStream.SaveToFile LSp_File_name, 2 binaryStream.Close End With 'With CreateObject("ADODB.Stream") MsgBox "File_Target.xls on the desktop successfully cleared", vbInformation, "VL for Vinci, 02.2021" End Sub 'V_Sub_File_Target_Clear
|
|
|
|
|