Condividi tramite

modifica file esterni per macro excel

Anonimo
2014-10-07T08:54:34+00:00

Salve a tutti, sono nuova di qui, scusate se sbaglio linguaggio;

Sto lavorando ad un file excel con macro elaborato da un altro ma ho bisogno di utilizzarlo da sola d'ora in avanti e non ho possibilità di farmi insegnare come lo ha creato.

Devo inoltre cambiare l'origine dei file che la macro va a pescare per elaborare il programma. come posso fare? 

Nel dettaglio in questo momento ho bisogno di modificare questo comando cambiando:

  1. la tipologia del file recordset che va a pescare in un file non txt ma un foglio excel.   E' possibile questo?

1.1 la posizione del recordset non nel percorso f/gr/exp ma nel disco locale del computer.

copio il comando della macro con affianco sottolineate le mie necessità:

Public arrOrdInt() As Variant

Public RigaDati As Integer

Sub Load_Data()

Dim cn As ADODB.Connection

Dim rs As ADODB.Recordset

Dim strSQL As String

Set cn = New ADODB.Connection

Set rs = New ADODB.Recordset

cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _

           "Data Source=" & "F:\GR\EXP" & ";" & _                                                      devo cambiare percorso del server al disco locale dentro una cartella

           "Extended Properties=""text; HDR=Yes; FMT=TABDelimited; IMEX=1;"""                                      

If MsgBox("Visualizzare solo ordini aperti?", vbOKCancel) = vbOK Then          non voglio che faccia questi filtri automatici ma apra tutto il foglio semplicemente.

    strSQL = "SELECT * " & _

            "FROM ordint.txt WHERE [D-ORI-FLSAL]=0"

Else

    strSQL = "SELECT * " & _

            "FROM ordint.txt"

End If

rs.Open strSQL, cn, 3, 1

Erase arrOrdInt

R = rs.RecordCount

C = rs.Fields.Count

rs.MoveFirst

ReDim Preserve arrOrdInt(1 To R, 1 To C)

While rs.EOF = False

    rg = rg + 1

        For i = 1 To C

            arrOrdInt(rg, i) = rs(i - 1)

        Next i

    rs.MoveNext

Wend

cn.Close

Set cn = Nothing

Set rs = Nothing

UserForm1.Show

End Sub

Grazie se resete in grado di aiutarmi a capire come muovermi.

AZ

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

2 risposte

Ordina per: Più utili
  1. Anonimo
    2014-10-07T09:58:53+00:00

    Grazie della velocità di risposta!!!

    Hai capito bene, ma ti spiego un attimo meglio cosa devo fare:

    uso un file excel per stampare degli ordini di lavorazione interna.

    stato attuale:

    1. con la prima macro excel apre un file txt filtrando "solo 0": questo file corrisponde a tutti gli ordini di acquisto e lavorazione precedentemente esportati dal mio gestionale; filtrando solo 0, mi fa lavorare con gli ordini da evadere e nuovi che ho creato prima nel gestionale.
    2. con le successive macro stampo gli ordini suddividentoli in: lavorazione interna, acquisto e seconde lavorazioni.

    Esigenza attuale: cambio gestionale e server (trasoco aziendale) ma devo continuare a utilizzare questo programma excel.

    Quindi devo creare un nuovo file con l'elenco degli ordini che excel poi elabora.

    Per il momento sono ancora bloccata al punto 1.

    Riesco a sostituire questo file con filtro con un file excel che modifico io manualmente?

    Ti allego una foto: 

    la macro in questione la faccio partire con il tasto "avvia" che apre questo famoso file txt che devo cambiare.

    Grazie del tuo aiuto, spero di essermi spiegata bene, putroppo non conosco il linguaggio macro ma devo fare queste modifiche.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2014-10-07T09:23:37+00:00

    Salve a tutti, sono nuova di qui, scusate se sbaglio linguaggio;

    <cut>

    Domanda mia. Ma devi semplicemente recuperare dati della tabella che si trova in quel file?

    Come è strutturata la tabella? Capisco bene che c'è un campo D-ORI-FLSAL e che devi recuperare solo i record (righe) dove quel campo è settato a 0? E i dati dove li copiamo?

    Grazie.

    La risposta è stata utile?

    0 commenti Nessun commento