Oireet

Kun suoritat Visual Basic for Applications makron Microsoft Excel, näyttöön voi tulla seuraava tai vastaava virhesanoma:

Suorituksenaikainen virhe 1004:objektin "TallennaAs"-menetelmä _Worksheet epäonnistui

Syy

Tämä voi tapahtua, kun molemmat ehdot täyttyvät:

  • Käytät laskentataulukon Visual Basic for Applications makroa.-ja-

  • Tiedostomuoto määritetään vakioksi xlWorkbookNormal.

Esimerkiksi seuraava koodi aiheuttaa tämän virheen:

Sub A()   Dim myNewSheet As Worksheet   Set myNewSheet = ActiveSheet   FileNameBin = "c:\ABC"   myNewSheet.SaveAs Filename:=FileNameBin, FileFormat:=xlWorkbookNormalEnd Sub

Vaihtoehtoinen menetelmä

Microsoft tarjoaa ohjelmointiesimerkkejä vain kuvitusta varten ilman nimenomaisia tai oletettuja takuita, mukaan lukien mutta ei rajoittuen, epäsuorat takuut soveltuvuudesta kaupankäynnin tarkoituksessa ja/tai soveltuvuudesta tiettyyn tarkoitukseen. Tässä artikkelissa oletetaan, että olet tutustunut käytössä olevan ohjelmointikielen sekä työkalujen luomiseen ja virheenkorjausmenetelmien luomiseen. Microsoftin tukihenkilöt voivat auttaa selittämään tietyn menettelyn toiminnallisuuden, mutta he eivät muokkaa näitä esimerkkejä, jotta ne tarjoasivat lisätoimintoja tai rakentaisi menettelytapoja tarpeisiisi. Jos ohjelmointikokemus on rajallinen, voit ottaa yhteyttä Microsoftin sertifioituun kumppaniin tai Microsoft Advisory Services -palveluihin. Lisätietoja on seuraavissa Microsoftin verkkosivustoissa:Microsoft Certified Partners - https://partner.microsoft.com/global/30000104 Microsoft Advisory Services - http://support.microsoft.com/gp/advisoryservice Lisätietoja saatavilla olevista tukivaihtoehdoista ja yhteyden tavoista ottaa yhteyttä Microsoftiin on seuraavassa Microsoftin verkkosivustossa:http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS Voit kiertää tämän ongelman vaihtamalla tiedostomuotomäärityksen vakiosta xlWorkbookNormal muotoon 1. Esimerkkikoodi toimii normaalisti, jos se muutetaan:

Sub A()   Dim myNewSheet As Worksheet   Set myNewSheet = ActiveSheet   FileNameBin = "c:\ABC"   myNewSheet.SaveAs Filename:=FileNameBin, FileFormat:=1End Sub

HUOMAUTUS Vaikka tallennat laskentataulukon, kaikki valitun työkirjan laskentataulukot tallennetaan, kun tiedostomuodoksi on määritetty xlWorkbookNormal tai 1.

Tila

Microsoft on varmistanut, että tämä on ongelma Microsoft-tuotteissa, jotka luetellaan tämän artikkelin alussa.

Tarvitsetko lisäohjeita?

Haluatko lisää vaihtoehtoja?

Tutustu tilausetuihin, selaa harjoituskursseja, opi suojaamaan laitteesi ja paljon muuta.