We have just started using Filr as our file sharing platform, in short we have a seperate excel file for each of our shipments that we export and we have different users accessing these files although editing should never happen concurrently.
I have no formal IT background, I am an accountant and I know the basics. I have over the last year started teaching myself VBA using trial and errors from what I find on platforms like these so I apologise for any ignorance :)
The problem is that it seems Filr allows any excel files to be edited by multiple users, without any warning when opening the file and without the sharing capabilities being activated within excel. This is causing conflicting copies being created and confusion as to which is the correct file. I have tried to address this with the IT department (from our marketing company) managing Filr and am not getting any real assistance to address the problem.
So I decided to explore using VBA to warn or open as read only if a file is already open by another user and I have tried to no avail using similar posts to test if the file is open.
I have gotten to the point that it recognises that the current person opening the file, has the file open, which is pretty obvious. But get no further for it to recognise that another user already has the same file open.
Am I chasing a unicorn? Is this perhaps only controllable by Filr setup / settings? Or does anyone have any magical insight to help?
I hope I have posted my problem appropriately :)
Here is my code, so it detects me as 1 user, but when my colleague opens the file after me it still only detects the user count as 1 (not 2 for both of us):
Sub Workbook_Open()
Users = ActiveWorkbook.UserStatus
If UBound(Users) = 1 Then
MsgBox "File not in use"
Else
MsgBox "File already open"
End If
End Sub
Related
This has me stumped. The user is able to work with workbooks containing the same code that were produced previously. Just recently new workbooks with the same code in them cannot be opened or saved. There are a range of error messages depending on where the workbook is opened from - we have tried safe locations, local folders and Dropbox folders. We have also tried with code signed and unsigned workbooks.
Error messages include:
'Excel cannot open the file Test.xslm because the file format or extension is not valid...' (not true, as I can open the same workbook and run the code without problem).
'Your changes to Text.xlsm could not be saved due to a sharing violation...' (followed by more errors to do with not finding a temporary document).
I have also tried removing ActiveX references which might flag as a security issue, (e.g. VBIDE) and commenting out blocks of code. No joy. Microsoft Defender reports no issues. There are no other antivirus programs running. There are no problems with the same workbooks with the VBA modules removed completely - so it definitely looks code related.
Anyone have any ideas?
This might be because of ASR.
If you check your "Windows Security" --> Virus & threat protection --> Protection history, you should find an event of "Risky action blocked" that shows your file has been "Blocked by: Attack surface reduction" Rule: Block Win32 API calls from Office macro".
I'm currently facing a very similar issue but I'm on the other side (I am the one that enabled ASR rules).
If that is the case for you as well, I wonder whether the problem depends on the identity that you use to save the file through your macro. Are you using the same security context of the user executing Excel?
Hi my name is Donald Jhon we have a community of Freelancers doing data entry jobs in various Microsoft products for this we have created a local area network with a central shared space to save the files. from last few days we are facing some issues while saving excel files over shared space the file says 'someone else is working on the file " but in reality the file is not opened by anyone else. i am attaching screen shot of the error so that someone may help me.
good day.
I was hoping someone could kindly help me with this issue. I have never faced this before and I am not able to solve it.
We have an Excel file on the network, that up to 10 people daily use, with Excel 365. The file contains a macro that connect to SAP. Until 3 weeks ago, everything was ok, and has been ok for over 6 years.
Now, we hired a new team member, who was given a new PC.
When our new team member tries to open the file on her new machine, there is first a message mentioning there is a problem with the file and proposing to try to recover as much as we can (see picture 1).
Then when she chooses "Yes", she gets another error message mentioning that the file is locked by 'another user'. Oddly enough, it says 'another user', and not the name of that user, and we tested and are 100% nobody else is using the file.
If she then select "Notify" or "Read only", another message pops up, info message from SAP Analysis for Windows.
Finally after she clicks 'OK', the file gets finally opened, but all macro are removed from it. There is a message about the repair:
The log file is added at the end of this post.
We don't understand where the issue exactly is, this is what we tested:
the same new users recently hired can use the file with the macro without any issue on another machine
users that could use the file on their machine, can't on the new machine of our new colleague (for the test, they log in with their own credentials)
other macro files can be opened without any problem on the computer of our new colleague
we have fully reinstalled the computer, and still it bugs...
Log message:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<recoveryLog xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"><logFileName>error242560_01.xml</logFileName><summary>Errors were detected in file 'S:\MyDistriplus\DI SAP OPERATIONS\Création articles\Templates Création\TEst (2).xlsm'</summary><removedParts><removedPart>Removed Part: /xl/vbaProject.bin part. (Visual Basic for Applications (VBA))</removedPart></removedParts></recoveryLog>
The problem is with the machine (the new computer).
Although you've performed a clean installation (reinstalled), you probably installed the same (probably corrupted) version of Windows and Office.
Try to open OneDrive and change this setting:
Try to install the same version of Windows and Office that's installed on the rest of the computers.
Note: Make sure to include all needed apps, addons, and files to the problematic device.
I had a similar issue, although not the locked by another user dialog. Losing the VBA made no sense to me. It turned out my issue was from duplicating a sheet in VBA that contained an image.
I think I was creating a duplicate ListObject entry for the picture, which would crash excel. My solution was to duplicate the image separately.
If your code is duplicating sheets, try removing any ListObjects and see if the problem persists.
Background: I can't seem to find an answer for the blunder I've found myself in. I'm working on a dashboard of sorts for our organization that pulls data from different workbooks in different locations. Different people have different permissions within folders in our company. We're trying to prevent having to change permissions. I was also trying to make it easy as possible for employees by moving the necessary supporting files I pull from to my folder where the dashboard is housed that includes a folder with the supporting files. Since this folder has no restricted access, I added passwords to the whole workbook of each supporting file. I created workbooks in the original locations of where these supporting files used to reside with the hopes that would hopefully allow anyone with access in that folder to use this new file as a backdoor/shortcut of sorts. The goal was to keep people's files where they wanted them and allow them to click it then it takes them to my support file and enter the password for them. Which leads me to the problem...
Problem: When I open the "backdoor" file, everything runs normally and the support file opens up with read and write privileges. However when someone else opens the backdoor file, the support file opens as read only. While I don't have any code yet to determine if someone is in the file (I'll cross that road if my problem is resolvable), I've ensured nobody was in the support or backdoor file when another user attempted to use it.
Sub Workbook_Open()
'I didn't have the next statement orginally. Added it in hopes it'd resolve the issue.
'Tried to move it under the workbooks.open command, too, but to no avail.
SetAttr "M:\Report Writing\Supporting Files\TMR 2017 - Team ABC's SF.xlsm", vbNormal
Workbooks.Open "M:\Report Writing\Supporting Files\TMR 2017 - Team ABC's SF.xlsm", , False, , "XXX"
Workbooks("TMR 2017 - Team ABC's.xlsm").Close
End Sub
I also didn't originally have the "False" in the open.workbooks command but tried to add it in hopes of resolving my dilemma. Any hope is GREATLY appreciated as my whole dashboard is relying on this and we were supposed to deploy today.
It has nothing to do with the VBA code. It is the file itself. On a shared network, depending on how it was set up, when a new file is created everyone can read it, but only the creator is marked as the only one allowed to make changes. If someone Saves the file with another name you wont be able to edit it. You created the file, you can make changes to it.
There is a way to change this. Right click on the file, properties, security, Edit Button, There are some listed users in there but just find the one that says Drive\Users or Authenticated Users, or both, and edit that to provide modify access. This will allow everyone to edit the file.
I am working off of a great solution created by #MattHall from 2011 to a question that I also shared about importing a dynamic range from Excel into Access.
Specific to that--though in general for future VBA's--my question is whether there is an additional way to be able to point to the Excel source file if it is moved without having to go into the VBA editor every time?
For my specific needs, I am trying to work on these Access and Excel files with others through a shared BOX that has a different file path for whoever is working on it.
USER 1 may be: C:\Users\USER1\Box Sync\filename.xlsx
USER 2 may be: C:\Users\USER2\Box Sync\filename.xlsx
...and so forth for any other users. I am curious how we can all work off this when the file path used in the VBA created and used by USER1 is not accessible by USER2? Could there be some code that allows for the every user to locate the file each time through their own filepath?
It would be a pain to do that but I also do not know a better option as we are not working off a shared server and this is unfortunately limited to Box share at the moment.
EDIT: If anyone could also suggest how to integrate their recommendation into the 'Dynamic Range' code in solution from #MattHall in the linked Stackoverflow, that would particularly helpful to my request.