Domanda

    .
  • SharePoint 2010
  • Word 2010
  • Windows 7 Enterprise

Ho un file .docm che vive in una libreria di documenti di SharePoint. Quando viene aperto, un macro fuoco e richiede l'utente per un nuovo nome file e cartella e quindi utilizza .Saveas2 per salvare una copia del file nella posizione specificata come A.Docx senza la macro.

Non posso utilizzare i tipi di contenuto SP con un corretto .dotm come modello, dal momento che ci sono oltre 30 diversi modelli di file nella libreria. Devo usare il .docm in una libreria di SharePoint e assicurarmi che l'utente salva una copia del file nella propria unità personale.

Quindi uso qualche codice nell'evento aperto. Ho permesso all'utente specificare una cartella e un nome file. Quindi .SaveAs2 prende questi parametri e salva il file corrente nel nuovo percorso con il nuovo nome come file .docx normale senza macro. Ti risparmierò i dettagli su come vengono raccolti strFolder e strDoc. Riposati che esistono. Ho un debug.Print con il nome file completo ed è corretto.

With o
    .SaveAs2 strFolder & strDoc & ".docx", wdFormatDocumentDefault
End With
.

Il problema è che questo codice riporta un messaggio che dice che il file non può essere trovato. Inserire l'immagine Descrizione qui

Bene, Duh, sto cercando di salvare il file in questa posizione. Ovviamente non esiste. Questo è il punto. (Si noti che la cartella esiste.)

Dopo che la finestra dei messaggi è chiusa, la parola salva felicemente il file nella posizione specificata.

Inoltre, il messaggio viene visualizzato solo se il file originale viene aperto in modalità Lettura da SharePoint e se il nuovo percorso del file è su un'unità di rete.

Il messaggio non viene visualizzato se

    .
  • Il file viene aperto in modalità Modifica (fare clic sul file SharePoint, selezionare Modifica nella finestra di dialogo successiva) o se
  • Il file viene salvato su un'unità locale (c :) o se
  • Il file viene aperto dal file> Dialogo recente del backstage.

Nel sistema di produzione, gli utenti non avranno una scelta di modifica o di sola lettura. Loro predefiniti per leggere solo. Inoltre, gli utenti non saranno in grado di salvare su un c: \ Drive locali, poiché il sistema aziendale mette il suo profilo e "i miei documenti" su un'unità di rete (h:).

Ho provato

    .
  • Salvataggio del file con un approccio diverso: Utilizzo msoFileDialogSaveAs - Stesso messaggio
  • Sopprimendo il messaggio con Application.DisplayAlert = False (lo so, ma io ero disperato) o wdAlertsNone. - Non funziona. Il messaggio mostra ancora
  • Sopprimendo il messaggio con applicazione.screenupdating= false. Non funziona. Il messaggio mostra ancora.
  • Sopprimi il messaggio con errori Gestione On Error Resume Next o On Error Goto MyHandler ma il messaggio si apre senza che i gestori di errore vengono licenziati. Il messaggio ha l'icona blu "I", quindi forse non è interpretato come un errore, ma come informazione.

Come faccio a far passare il messaggio?

Inoltre, anche se questo non è essenziale, sarebbe bello sapere:

    .
  • Perché la lettura o la modalità di modifica è materia quando il file viene salvato in una nuova posizione?
  • Perché la nuova posizione del file (percorso di rete o percorso locale) è importante quando viene salvato?
  • E perché il messaggio viene avviato quando dopo il file salva correttamente?
È stato utile?

Soluzione

Dopo diversi tentativi futili per modificare il modo in cui SharePoint serve il documento in modalità Solo di lettura, ho utilizzato il seguente approccio per creare una nuova parola DOC, salvarlo nella cartella Temping dell'utente, copiare il DOC dalla cartella TEMP nella cartellaprecedentemente specificato dall'utente.Ora esiste il documento e l'utilizzo di Saveas non attiva il messaggio di errore.

Prima di eseguire il codice seguente, l'utente ha definito un nome file (STROC) e una cartella per il documento da salvare.

' since we get an annoying message when trying to save to a network drive while
' in read only mode, we first create a new, empty file in the user's temp folder,
' then copy that empty file to the specified folder
' set the temp folder and full path
tempFolder = Environ("Temp")
tempPath = tempFolder & "\" & strDoc & ".docx"
' create a new document
Documents.Add DocumentType:=wdNewBlankDocument
ChangeFileOpenDirectory tempFolder
' save to temp folder and close
With ActiveDocument
    .SaveAs2 tempPath, wdFormatDocumentDefault
    .Close
End With
' copy from temp folder to previously defined destination
FileCopy tempPath, fullPath
' delete the temp file
KillFile = tempPath
' finally, save the contract over the empty file
With o
    .SaveAs2 fullPath, wdFormatDocumentDefault
End With
.

Altri suggerimenti

Ecco uno scatto nel buio basato su alcuni googling e un'esperienza simile: http://blogs.technet.com/b/wordonenotesupport/Archive/2009/02/07/word-2007-file-vave-2007-an -Error-is-visualizzato-when-to-to-to-save-a-word-document.aspx

I bit pertinenti:

.
    .
  • "<path and file name>" cannot be found. Check your spelling, or try a different path.

  • <path and file name> is currently in use. Try again later.

  • Word cannot complete the save to due to a file permissions error.

Potresti vedere gli errori sopra menzionati se Word 2007 sta avendo un Conflitto con software antivirus. La maggior parte di questi conflitti è stata indirizzato dai produttori di software antivirus, ma devi Scarica e installa aggiornamenti o patch per il software antivirus (Non solo nuove definizioni dei virus) per risolvere il problema. Vedi Sito Web del produttore del software per possibili aggiornamenti e per articoli di base della conoscenza relativi ai problemi di configurazione.

... e poi da McAfee che descrive un problema correlato: https://kc.mcafee.com/corporate/index?page=content&amt ;id= KB75449

La maggior parte delle discussioni del forum Ho trovato implicate la scansione anti-virus in tempo reale sul lato server - qualcosa riguardo all'interazione del comportamento tra il meccanismo di risparmio di Office 2010 che non viene riprodotto con una scansione di file in diretta, basata su accesso.

Anche se questo non risolve il tuo problema, spero che aiuti!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top