PowerPoint - Come posso capire se una presentazione ha una password a livello di codice?

StackOverflow https://stackoverflow.com/questions/215946

  •  03-07-2019
  •  | 
  •  

Domanda

Sto scrivendo un'applicazione che elabora le presentazioni di PowerPoint e sto cercando dei modi per rilevare se una presentazione di PowerPoint ha o meno una password se smette di elaborarla.

È stato utile?

Soluzione

Mi sembra che non ci sia alcun modo per verificare se la presentazione è protetta da password. Devi prima aprire il documento per rendere accessibili le proprietà. Devi fornire la password quando apri il documento.

Esiste una Proprietà password può controllare.

Ho trovato una soluzione alternativa su Scambio di esperti :

  

Il problema è il seguente: Visivo   Basic è un thread singolo   applicazione , ciò significa che non puoi   mettere in attesa una determinata procedura e   procedere con un altro (nello stesso   applicazione). Quando powerpoint ha un   " su open " -password set, il   Procedura CreateObject all'interno di   l'applicazione viene messa in attesa fino a quando   powerpoint lo rilascia, questo è quando   l'utente digita una password. C'è   non c'è niente che io sappia   ma puoi risolvere il problema:

     

Crea 2 applicazioni , 1 applicazione lo è   l'applicazione che hai già, il   il secondo è un "sblocco powerpoint".   Esegui il secondo programma poco prima   si apre il powerpoint protetto   presentazione nell'applicazione 1. È possibile   farlo con il comando shell. Il   "sblocco powerpoint" può essere come   avanzato come vuoi che sia, puoi   ad esempio fornire riga di comando   parametri per specificare quale   la presentazione deve essere sbloccata con   quale password. Quindi si utilizza il    trova finestra API per ottenere la finestra   gestire la presentazione bloccata .   Una volta che lo hai, usi il   sendmessage api per inserire la password.   Successivamente, lo "sblocco powerpoint"   scarica e la prima applicazione può   riprendere con la sua escissione.

     

Spero che questo aiuti!

     

Osmodean

Altri suggerimenti

Valuta di guardare questo - http : //blogs.msdn.com/b/openspecification/archive/2009/07/17/overview-of-protected-office-open-xml-documents.aspx

Per un documento PPTX, puoi esaminare i primi 8 byte per esaminare l'intestazione (dovrebbe essere [d0cf 11e0 a1b1 1ae1] per un file crittografato) e sapere se si tratta di un PPTX crittografato o meno.

Tuttavia, per i file creati con Office 2003 (estensione predefinita .ppt), l'intestazione è la stessa (intestazione MS-CFB). Quindi, se qualcuno crea un documento di Office 2003 e poi lo rinomina in un PPTX, il tuo codice lo considererà come un documento crittografato (mentre, non sarebbe necessariamente uno).

Se si lavora con documenti già aperti in Powerpoint, è possibile utilizzare la funzione SaveCopyAs per salvare prima il documento su disco nel formato pptx (utilizzare l'opzione predefinita nel secondo parametro), quindi esaminare l'intestazione per verificare se è un file crittografato.

Valuta di guardare questo - https://msdn.microsoft.com/ko -kr / library / dd948895 (v = office.12) aspx

Per un documento PPT (Office 2003), è possibile esaminare l'intero senza segno (bit 0xF3D1C4DF) per identificare se il file è crittografato.

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