Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Rinominare i file con dati in tabella excel..
Forum - C# / VB.NET - Rinominare i file con dati in tabella excel..

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
sps84 (Normal User)
Expert


Messaggi: 202
Iscritto: 11/02/2009

Segnala al moderatore
Postato alle 19:27
Mercoledì, 11/02/2009
con un amico sto cercando di realizzare un programmino che ci risolvi una mole enorme di lavoro...
praticamente serve per rinominare dei file contenuti in una cartella a scelta nel seguente modo, nella prima colonna di un foglio di excel è contenuto il suo nome attuale e nella seconda il nome con cui deve essere rinominato. Ovviamente se il file non esiste salta il passaggio e va alla riga dopo..
Codice sorgente - presumibilmente VB.NET

  1. Public Class Form2
  2.  
  3.     Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hWnd As Integer, ByRef lpdwProcessId As IntPtr) As IntPtr
  4.  
  5.     Private Function seFileEsiste(ByVal nomeCompFile As String) As Boolean
  6.  
  7.         Dim F As New System.IO.FileInfo(nomeCompFile)
  8.         If F.Exists Then
  9.             seFileEsiste = True
  10.         Else
  11.             seFileEsiste = False
  12.         End If
  13.  
  14.     End Function
  15.  
  16.     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  17.  
  18.         Dim percorso As String = Application.StartupPath & "\Files\"
  19.         Dim nomeFile As String = "Elenco.xls"
  20.         Dim appExcel As New Excel.Application
  21.         Dim WB As Excel.Workbook = appExcel.Workbooks.Open(percorso & nomeFile)
  22.         Dim WS As Excel.Worksheet = WB.Worksheets("Foglio1")
  23.         appExcel.Visible = False
  24.  
  25.         Dim i As Integer = 0
  26.         Try
  27.             For i = 1 To 3
  28.                 If seFileEsiste(percorso & WS.Range("A" & i).Text) Then
  29.                     My.Computer.FileSystem.RenameFile(percorso & WS.Range("A" & i).Text, WS.Range("B" & i).Text)
  30.                 End If
  31.             Next i
  32.         Catch ex As Exception
  33.             '...
  34.         Finally
  35.             'Chiusura oggetti Excel...
  36.         End Try
  37.  
  38.     End Sub
  39.  
  40. End Class



ho inserito anche le referenze per office excel ma mi sottolinea
Excel.Application
Excel.Workbook  
WB.Worksheets

mi dice che non sono definiti...:d

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 17:33
Giovedì, 12/02/2009
Forse ti manca la linea di imports:
Codice sorgente - presumibilmente C# / VB.NET

  1. Imports Microsoft.Office.Interop



P.S.: per vedere se un file esiste puoi anche usare IO.File.Exists, che è una funzione statica e funziona esattamente allo stesso modo di seFileEsiste.

PM Quote
Avatar
sps84 (Normal User)
Expert


Messaggi: 202
Iscritto: 11/02/2009

Segnala al moderatore
Postato alle 19:40
Giovedì, 12/02/2009
e questa riga la devo mettere in cima?
(sto leggendo la tua guida è fantastica se non la migliore che abbia trovato per principianti come me... forse la spiegazione sugli array è un pò complicata per il resto finora voto 10 et lode):k::k:

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 15:41
Venerdì, 13/02/2009
Sì, gli imports vanno sempre prima di tutto il codice.

P.S.: ti riferisci a questa guida, o a quella sul mio sito?

PM Quote
Avatar
sps84 (Normal User)
Expert


Messaggi: 202
Iscritto: 11/02/2009

Segnala al moderatore
Postato alle 19:10
Venerdì, 13/02/2009
alla guida, quella sul tuo sito non l'ho ancora letta perchè essendo un novizio meglio un passettino alla volta...:D

PM Quote
Avatar
sps84 (Normal User)
Expert


Messaggi: 202
Iscritto: 11/02/2009

Segnala al moderatore
Postato alle 0:52
Sabato, 14/02/2009
ho inserito la riga che  mi hai consigliato ma nulla di che... stavo pensando a questo punto di usare un file in txt con dentro dei dati divisi con punto e virgola
tipo:  nomefileattuale;nuovonome
nomefileattuale;nuovonome
nomefileattuale;nuovonome
nomefileattuale;nuovonome

qundi dovrei cercare come leggere da un file giusto?

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 15:13
Sabato, 14/02/2009
Dopo aver letto il file, basta usare la funzione d'istanza String.Split(";") per ottenere tutti le singole parti di stringa comprese tra ;.

PM Quote
Avatar
sps84 (Normal User)
Expert


Messaggi: 202
Iscritto: 11/02/2009

Segnala al moderatore
Postato alle 23:27
Domenica, 15/02/2009
adesso prova ma non riesco a capire come faccio ad attribuire parti di testo a variabili...

es:
marco1;marco2
gianni1;gianni2
luca1;luca2

dovrei fargli leggere la prima riga e digli di fermarsi al (;) ed attribuirgli la variabile a
leggere dopo il (;) e dargli la varibile b giusto?

un macello... cmq sono fiducioso che alla fine della tua guida ci riesco..;)

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 15:39
Lunedì, 16/02/2009
No. Mi chiedo perchè le persone non leggano mai quello che scrivo.

Codice sorgente - presumibilmente VB.NET

  1. 'Ammettiamo che R sia uno StreamReader
  2. Dim Linea As String
  3. Linea = R.ReadLine()
  4. Dim Parti() As String = Linea.Split(";")


Linea = "uno;due;tre" > Parti = {"uno", "due", "tre"}

PM Quote
Pagine: [ 1 2 3 ] Precedente | Prossimo